查看背景颜色不能与选择器一起使用?

时间:2014-08-10 08:19:49

标签: android listview selector

我正在开发一个Android应用程序,我有很多要显示的项目ListView

    <ListView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@android:id/list"
            android:layout_gravity="right|center_vertical"
            android:listSelector="@drawable/bg_selector"/>  

bg_selector.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="#8F136fb8"/>
</selector>

我希望每个项目都有不同的背景颜色,我将它们设置为getView的{​​{1}}方法:

adapter

但是我发现,一旦我选择了一个项目,就没有对用户事件做出响应我将 @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; ..... Color color=generateColor(); viewHolder.textView.setBackgroundColor(color); return convertView; } 设置为selector enter image description here

1 个答案:

答案 0 :(得分:0)

<强>问题:

<?xml version="1.0" encoding="utf-8"?>
<selector
        xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="#8F136fb8"/>
</selector>

当您没有点击该项目时,您需要具有默认颜色,否则它将无法正常工作

<强>样品:

<?xml version="1.0" encoding="utf-8"?>
<selector
        xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="#8F136fb8"/>
    <item android:state_pressed="false" android:drawable="@android:color/transparent"/>
    <item android:drawable="@android:color/transparent"/>
</selector>