禁用 ListView 中的清除项目
我在一个白色背景的活动中创建了一个ListView。但是,如果我扫过这些项目,它们的背景就会变成黑色并覆盖文本。我怎样才能禁用它? 列表视图使用 ArrayAdapter 来填充它。
这是我的列表视图 xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#F2F2F2">
<LinearLayout android:id="@+id/newEntry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText android:id="@+id/txtNewItem" android:layout_width="wrap_content" android:layout_height="fill_parent" android:selectAllOnFocus="true"
android:layout_weight="1" android:maxLength="8" android:inputType="numberSigned|numberDecimal"/>
<Button android:id="@+id/btnNewItem" android:text="@string/add_item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" />
</LinearLayout>
<LinearLayout android:id="@+id/controlPanel"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/btnClearList" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/clear_list"/>
<Button android:id="@+id/btnConfirmList" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/confirm_btn"/>
</LinearLayout>
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/controlPanel"
android:layout_below="@id/newEntry" />
<TextView android:id="@+id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_items"
android:layout_below="@id/newEntry"
android:textColor="#000000" />
</RelativeLayout>
I created a ListView in an Activity with a white background. However, if I sweep through the items, their background become black and cover the text. How can I disable it?
The listview uses ArrayAdapter to populate it.
Here's my listview xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#F2F2F2">
<LinearLayout android:id="@+id/newEntry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText android:id="@+id/txtNewItem" android:layout_width="wrap_content" android:layout_height="fill_parent" android:selectAllOnFocus="true"
android:layout_weight="1" android:maxLength="8" android:inputType="numberSigned|numberDecimal"/>
<Button android:id="@+id/btnNewItem" android:text="@string/add_item" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" />
</LinearLayout>
<LinearLayout android:id="@+id/controlPanel"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/btnClearList" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/clear_list"/>
<Button android:id="@+id/btnConfirmList" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/confirm_btn"/>
</LinearLayout>
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/controlPanel"
android:layout_below="@id/newEntry" />
<TextView android:id="@+id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_items"
android:layout_below="@id/newEntry"
android:textColor="#000000" />
</RelativeLayout>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以通过使用来做到这一点。在 xml 中的 ListView 中添加此行。
You can do that by using. Add this line in your ListView in the xml.
这可能是 ListView 背景绘制问题。查看这篇文章进行讨论和修复。
您也可能会发现背景颜色与活动的默认主题(浅色或深色)之间存在一些轻微的干扰。尝试将主题更改为轻型版本(Theme.Light)。
This is possibly a ListView background drawing issue. Check out this article for a discussion and a fix.
It's also possible that you are seeing some slight interference between your background color and the default theme (Light or Dark) for the activity. Try changing the theme to the light version (Theme.Light).