Android CAB listview状态为选中,状态为按下

Android CAB listview状态为选中,状态为按下,android,android-listview,android-selector,android-contextmenu,Android,Android Listview,Android Selector,Android Contextmenu,我有一个问题:我有一个带有多选项侦听器的ListView,它打开了ContextualActionBar。对于这个列表中的每一项,我都在根布局上设置了一个回溯。这是XML: <item android:drawable="@color/light_blue_alpha" android:state_activated="true"/> <item android:drawable="@color/light_blue" android:state_pr

我有一个问题:我有一个带有多选项侦听器的ListView,它打开了ContextualActionBar。对于这个列表中的每一项,我都在根布局上设置了一个回溯。这是XML:

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

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

<item android:drawable="@drawable/card_background"/>

我还将drawOnTop设置为true,并且正确应用了按下的背景。但是你激活的状态没有!当我启动CAB时,项目将返回其默认背景。为什么不采用状态激活背景???

在适配器中采用一个名为“选定位置”的变量,在该变量中指定选定位置值

为适配器调用notifydatasetchanged方法

在get view方法中,放置条件如下

如果所选位置==位置 { 更改列表项的背景颜色 } 其他的 { 设置默认背景色 }


希望这有帮助

你能附上正在发生的事情和你想实现的事情吗:没错。但我可以做到这一点。问题是,当我松开手指时,项目会返回到默认背景,几毫秒后被激活,因此它会返回到激活的背景。我想禁用或隐藏手指释放效果。我想让项目直接从按下的背景转到激活的背景嗯。。我真的需要接触java代码吗?如果我找不到任何解决办法,我就用这个
<item android:state_pressed="true"  android:drawable="@color/light_blue"/>
<item android:state_activated="true"  android:drawable="@color/light_blue_alpha"/>
<item android:drawable="@android:color/transparent"/>