【问题标题】:State_Selected is not working although state_pressed works尽管 state_pressed 有效,但 State_Selected 无效
【发布时间】:2013-04-02 14:52:24
【问题描述】:

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

<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>

这里,默认文本颜色出现在默认状态。当我单击时,列表项中的文本颜色会发生变化。但是选择项目时文本的颜色不会改变。

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

【问题讨论】:

  • Java 部分发生了什么?你在视图上调用 setSelected(true) 吗?
  • 我用在ListView上,是不是也需要用在textview上?
  • state_selected 在某些设备上存在一些问题。您可能会在这里查看一些想法:stackoverflow.com/questions/14237978/…

标签: android listview textview


【解决方案1】:

在使用 ListView 时,我也在寻找这个问题的答案,并且在找到 this one 之前不得不在这里浏览很多帖子,我认为这是最好的选择,并且工作起来很有吸引力。

想法是将视图设置为选中,然后使用state_activated 而不是state_selected 来执行您的选择。如果您使用 ListView 或类似的,您还需要致电setChoiceMode(ListView.CHOICE_MODE_SINGLE) 以确保只检查一项。请参阅the post 了解更多信息

我希望这有助于有人比我更快地找到解决方案!

【讨论】:

【解决方案2】:

使用自定义列表项布局时:设置

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

作为背景

【讨论】:

    猜你喜欢
    • 2014-11-26
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多