Android ListView背景色

Android ListView背景色,android,listview,background,Android,Listview,Background,我希望列表视图中的每个偶数项具有不同的颜色。为此,我使用了以下代码: public void bindView(View row, Context ctxt, Cursor c) { ViewHolder holder = (ViewHolder) row.getTag(); if (c.getPosition() % 2 == 0) { row.setBackgroundDrawable(getResources(

我希望
列表视图中的每个偶数项具有不同的颜色。为此,我使用了以下代码:

public void bindView(View row, Context ctxt, Cursor c) {
            ViewHolder holder = (ViewHolder) row.getTag();
            if (c.getPosition() % 2 == 0) {
                row.setBackgroundDrawable(getResources().getDrawable(
                        R.drawable.dark_item_background));
            }

            holder.populateFrom(c, mDbHelper);
        }
但触摸事件后,该项目不会突出显示。请建议如何克服这个问题

更新

根据Gophermofur的建议,我创建了一个选择器:

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

    <item android:drawable="@drawable/list_activated_holo" android:state_activated="true"/>
    <item android:drawable="@color/item_back_color"/>

</selector>


现在它对果冻豆有效,而对姜饼无效。有什么想法吗?

列表视图中的项目实际上并没有定义为纯色(黑色或白色),它们是使用选择器定义的,在这些选择器中,不同状态有多种颜色(正常=黑色、按下=橙色、聚焦=蓝色等)

当您开始用纯色替换listview中项目的背景色时,它将覆盖该选择器,以便不同状态不再有不同的颜色

通常,listview选择器应用于整个listview,但是,您可以直接将其应用于项目的背景或选择器(我不确定,目前无法测试)

查看以下链接,了解如何创建选择器XML文件:


列表视图中的项目实际上并不定义为纯色(黑色或白色),它们是使用选择器定义的,在这些选择器中,不同状态有多种颜色(正常=黑色、按下=橙色、聚焦=蓝色等)

当您开始用纯色替换listview中项目的背景色时,它将覆盖该选择器,以便不同状态不再有不同的颜色

通常,listview选择器应用于整个listview,但是,您可以直接将其应用于项目的背景或选择器(我不确定,目前无法测试)

查看以下链接,了解如何创建选择器XML文件:

现在它对果冻豆有效,而对姜饼无效。有什么想法吗

我不确定你的drawable/list\u-activated\u-holo是什么,但从它的名字来看,它听起来像是在使用android holo主题——它只是在API级别14中添加的。

如果要在运行低于API级别14的设备上使用颜色,则需要在自己的values/colors.xml中定义颜色

现在它对果冻豆有效,而对姜饼无效。有什么想法吗

我不确定你的drawable/list\u-activated\u-holo是什么,但从它的名字来看,它听起来像是在使用android holo主题——它只是在API级别14中添加的。


如果要在运行API级别14以下的设备上使用颜色,则需要在自己的值/colors.xml中定义颜色。

关于选择器,并不清楚如何直接应用于at项的背景或选择器。是否尝试过用R.drawable替换R.drawable.dark_item_背景。[选择器名称]?选择器一旦创建并放入drawable文件夹,就应该给它一个资源id,你应该能够像引用任何drawable一样引用它们。它对果冻豆有效,对姜饼无效。你知道为什么吗?选择器是很清楚的,而不是如何直接应用于at项的背景或选择器。你是否尝试过用R.drawable.[selector\u Name]替换R.drawable.dark\u item\u背景?选择器一旦创建并放入drawable文件夹,就应该给它一个资源id,你应该能够像引用任何drawable一样引用它们。它对果冻豆有效,对姜饼无效。你知道为什么吗?