Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 可绘制状态列表_Android - Fatal编程技术网

Android 可绘制状态列表

Android 可绘制状态列表,android,Android,我在ListActivity中构建了一个listView。我希望在按下项目时更改行的背景 所以我在我的ListActivity中写到:this.getListView().setSelector(R.drawable.my_custom_选择器) 这是my_custom_selector.xml: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:sta

我在ListActivity中构建了一个listView。我希望在按下项目时更改行的背景

所以我在我的ListActivity中写到:this.getListView().setSelector(R.drawable.my_custom_选择器)

这是my_custom_selector.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@drawable/selector" />
</selector>

drawable/selector是一个selector.9.png

问题是什么也没发生

但是:当我用一种颜色替换这个可绘制的时,当我按一行时,所有屏幕都会得到这种颜色


你能帮我吗

尝试在.xml文件中设置listview选择器 例如,在listview中

android:background="@drawable/your_selector"
一个小但好的教程,检查一下。它还可以帮助你解决你的问题

  • ListviewItem的setSelector的代码错误。必须在xml中定义listviewItem及其setSelector,而不是ListView的setSelector

  • 我没有xml中的listview。这是一个列表活动。(顺便说一句,如果我的xml中有一个listview,那么我可以在xml中使用ListSelector,它会工作)。因此,拥有listView的唯一方法似乎是ListActivity中的.getListView()。您可以重写onclick、onfocus方法来更改列表视图的背景色。