Android选择器项优先级

时间:2013-08-20 10:04:16

标签: android

我的问题是在Android中你可以让选择器项优先于另一个。我遇到的问题是在第二项上选择了最后一项。在我的代码中,我使用listView,在onItemClick和LongItemClick中,我编写了view.setHovered(true);仅在视图未激活时才有效。如果它被激活,则使用@ color / black代替@ color / white。提前谢谢!

<item android:state_activated="false" android:state_hovered="false" android:color="@color/gray_light"/>
<item android:state_hovered="true" android:color="@color/white"/>
<item android:state_activated="true" android:state_hovered="false" android:color="@color/black"/>

Edit1:也许这就是问题:调用v.setActivated / v.setHovered的顺序是否重要? Edit2:我在v.setActivated(true)调用之后调用了所有v.setHovered(true)调用,但它仍然选择@ color / black。

1 个答案:

答案 0 :(得分:0)

更改订单。正如API guide

所述
  

在每次状态更改期间,状态列表从上到下遍历,并且使用与当前状态匹配的第一个项目 - 选择不基于&#34;最佳匹配,&#34;但只是符合国家最低标准的第一项。