我有一个列表视图,当我触摸它们时,它会显示项目上的黄色视图。所有我做的不同的是改变listview xml中的背景图像,现在它不再显示我的yellowtint
这是代码
列表视图xml,它只是一个带有背景图像的文本视图:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="24sp"
android:textColor="#000000"
android:background="@drawable/bglistitem"
android:gravity="center_vertical|center_horizontal">
</TextView>
在另一个布局中的位置,称为
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="24sp"
android:textColor="#000000"
android:background="@drawable/bglistitem"
android:gravity="center_vertical|center_horizontal">
</TextView>
这是代码:
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {}
});
正如你在上面所看到的,我从来没有做任何会改变选择突出显示的默认行为的事情,为什么现在会有所不同,也许你看到我看不到的东西?
答案 0 :(得分:20)
当你向ListView添加一个新的背景时,你覆盖了orroids默认背景,这很可能是使用选择器根据ListItems的状态给它们着色。
尝试使用自定义选择器
创建一个XML文件mycustombackground.xml,并将其添加到其中:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/item_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/item_focused" />
<item android:drawable="@drawable/item_normal" />
</selector>
将@drawables替换为您自己的状态。 然后将listview的背景设置为xml文件。
android:background="@drawable/mycustombackground"
您可能需要查看XML以创建黄色,或者只是创建自己的图像。