尽管state_pressed有效,State_Selected仍然无效

时间:2013-04-02 14:52:25

标签: android listview textview

我有一个问题。首先检查我的代码:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="@color/clickedtext" />
    <item android:state_pressed="true" android:color="@color/clickedtext" />
    <item  android:color="@color/defaulttext" />
</selector>

此处,defaulttext颜色显示为默认状态。单击时,listitem中的文本颜色会发生变化。但是当选择一个项目时,文本的颜色不会改变。

我尝试了一些东西,但我无法解决这个问题。 我该怎么办?

2 个答案:

答案 0 :(得分:17)

我在使用ListView时也在寻找答案,并且在找到this one之前必须在这里搜索很多帖子,我认为这是最好的选择,并且像魅力一样。

我们的想法是将视图设置为已选中,然后使用state_activated而不是state_selected来执行您的选择。如果您使用的是ListView或类似的,则还需要调用setChoiceMode(ListView.CHOICE_MODE_SINGLE)以确保只选中一个项目。有关详细信息,请参阅the post

我希望这可以帮助别人找到比我更快的解决方案!

答案 1 :(得分:0)

使用自定义listitem-layout时:设置

android:background="?android:attr/activatedBackgroundIndicator"

作为背景