Android listview 项目不显示选定的颜色

标签 android android-listview colors

我有这个 ListView :

<ListView
            android:id="@+id/contactsView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/searchButton"
            android:divider="@color/DarkGoldenrod"
            android:dividerHeight="0.1dp"
            android:listSelector="@drawable/list_selector"
            android:choiceMode="singleChoice" />

这是 list_selector 的代码:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@android:drawable/myRedColor" android:state_pressed="true"/>
    <item android:drawable="@android:drawable/myBlueColor" android:state_selected="true"/>
    <item android:drawable="@android:drawable/myGreenColor"/>

</selector>

在我的主要 Activity 类(class)中,我放置了以下内容:

contactsView.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                    long arg3) {
                arg1.setSelected(true);
                selectedContactIndex = (int) arg3;
            }
        });

contactsView 是 ListView ,我已经确认它被选中但是颜色没有停留。我点击它,它改变然后又变回来。知道为什么吗?

最佳答案

而不是 android:listSelector="@drawable/list_selector" 在 ListView 中使用它作为 row.xml 中的背景

关于Android listview 项目不显示选定的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19193063/

相关文章:

java - Eclipse - 项目包含错误但未发现

javascript - 如何在文档中找到所有数字并设置它们的样式?

ruby - 检查颜色是否在特定颜色范围内

java - Robot 的 getPixelColor(int x, int y) 方法如何工作?

java - 在 android 中创建一个 jar inside jar 并访问第一个 jar 的类

java - 将时间戳转换为时间会给出错误的时间

android - 除非在授予权限后重新启动应用程序,否则无法写入外部存储

java - 如何在recyclerview适配器中使用getItematposition()作为ListView

android - 在每个 ListView 元素内的 imageView 上添加一个 OnClickListener

android - 自定义 ListView 不会替换 View