Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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
Java 如何设置ListView的选择器?_Java_Android - Fatal编程技术网

Java 如何设置ListView的选择器?

Java 如何设置ListView的选择器?,java,android,Java,Android,我有以下问题:我的应用程序有白色背景和ListView布局。如果我需要滚动此ListView,则它会将颜色更改为黑色!我刚刚为ListView做了一个选择器,但它在运行期间不起作用。我的列表视图: <ListView android:id="@+id/listViewLastUpdates" android:listSelector="@drawable/selector" android:layout

我有以下问题:我的应用程序有白色背景和ListView布局。如果我需要滚动此ListView,则它会将颜色更改为黑色!我刚刚为ListView做了一个选择器,但它在运行期间不起作用。我的列表视图:

        <ListView
            android:id="@+id/listViewLastUpdates"
            android:listSelector="@drawable/selector"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>

我的选择器:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@color/green" /> <!-- focused -->
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@color/green" /> <!-- focused and pressed-->
    <item android:state_pressed="true" android:drawable="@color/green" /> <!-- pressed -->
    <item android:drawable="@color/white" /> <!-- default -->
</selector> 


我需要使用绿色作为突出显示,白色作为背景(如果我滚动ListView,它不会改变颜色)。请告诉我,我应该如何修复它?

在设置颜色时使用
颜色选择器
而不是
可绘制选择器

在res中创建
颜色文件夹
并保存此颜色xml选择器并使用它:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:color="@color/green" /> <!-- focused -->
    <item android:state_focused="true" android:state_pressed="true" android:color="@color/green" /> <!-- focused and pressed-->
    <item android:state_pressed="true" android:color="@color/green" /> <!-- pressed -->
    <item android:color="@color/white" /> <!-- default -->
</selector> 

试试这个,告诉我它是否有用:

<ListView
    android:id="@+id/listViewLastUpdates"
    android:listSelector="@drawable/selector"
    android:background="@android:color/white"
    android:cacheColorHint="@android:color/transparent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

下面的代码是否适合您?如果您这样做,是否会出现类似“二进制XML文件行#13:tag需要“drawable”属性或定义drawable的子标记”这样的错误?