列表视图中的多个项目未聚焦(颜色不会更改)

时间:2016-06-07 11:23:24

标签: android listview focus selector

这个问题已经多次,我搜索了很多,但几乎所有的解决方案都不适合我。我想选择列表视图的多个项目,并选择所选项目更改的颜色。即如果列表视图中有10个项目并且我选择了5个项目,则应更改这5个项目的颜色并使其处于焦点,以便我可以对它们执行操作。但是每个解决方案对我来说都不起作用,只有当前选定的项目发生了变化,但并非所有项目都集中在一起并发生变化。

我尝试了许多代码,这是其中之一:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item 
android:state_selected="false"
android:state_pressed="false" 
android:drawable="@drawable/normal_shape" />

<item android:state_pressed="true" 
android:drawable="@drawable/gradient_bg_hover" />

<item android:state_selected="true"
android:state_pressed="false" 
android:drawable="@drawable/gradient_bg_hover" /> 
</selector>

gradient_bg_hover:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

<gradient
  android:startColor="#d9dd00"
  android:endColor="#e6ea02"
  android:angle="270" />
 </shape>

normal_shape:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

<gradient
    android:angle="270"
    android:endColor="#fefeff"
    android:startColor="#d5dbe7" />

<stroke
    android:width="1dp"
    android:color="#acd9dd" />

</shape>

在我的listview中是xml代码:

<ListView
    android:id="@+id/messageList"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    android:cacheColorHint="@null"
    android:listSelector="@drawable/listsele"
    android:layout_marginBottom="5dp" />

问题是什么?为什么我选择的项目没有聚焦而且没有改变颜色

1 个答案:

答案 0 :(得分:0)

删除此行

 android:cacheColorHint="@null"

并使用选择器作为背景