Sam*_*Sam 1 android textcolor android-selector android-databinding android-text-color
我有一个回收器视图,我需要使用颜色选择器之一(具体取决于数据绑定中的值)来更改 TextView 颜色。
我有两个选择器:
颜色/selector_item_text.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_checked="true" />
<item android:color="@color/white" android:state_pressed="true" />
<item android:color="@color/white" android:state_activated="true" />
<item android:color="@color/black" />
</selector>
Run Code Online (Sandbox Code Playgroud)
颜色/selector_item_textwithspecial.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/pink" android:state_checked="true" />
<item android:color="@color/pink" android:state_pressed="true" />
<item android:color="@color/pink" android:state_activated="true" />
<item android:color="@color/orange" />
</selector>
Run Code Online (Sandbox Code Playgroud)
我将它绑定到我的 TextView 上,如下所示:
<TextView android:text="@{data.displayPrice}"
android:textColor="@{data.isSpecial ? @color/selector_item_textwithspecial : @color/selector_item_text}"
style="@style/ProductPrice"/>
Run Code Online (Sandbox Code Playgroud)
问题是 TextView 颜色始终是橙色(如果有特殊)或黑色。选择永远不会改变颜色。但是,如果我删除数据绑定,它就会按预期工作。
例如,下面的代码将使 TextView 变成粉色(选中时)和橙色(未选中时)
<TextView android:text="@{data.displayPrice}"
android:textColor="@color/selector_item_textwithspecial"
style="@style/ProductPrice"/>
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
谢谢...
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |