У меня есть представление рециркулятора, в котором мне нужно использовать один из селекторов цвета, в зависимости от того, какое значение в привязке данных, чтобы изменить цвет TextView.
У меня есть два селектора:
color / 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>
color / 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>
И я привязываю его к своему TextView так:
<TextView android:text="@{data.displayPrice}"
android:textColor="@{data.isSpecial ? @color/selector_item_textwithspecial : @color/selector_item_text}"
style="@style/ProductPrice"/>
Проблема в том, что цвет TextView всегда оранжевый (если он имеет специальный) или черный. Выбор никогда не меняет цвет. Однако, если я удалю привязку данных, она сработает, как и ожидалось.
Например, следующее сделает TextView розовым (если он выбран) и оранжевым (если не выбран)
<TextView android:text="@{data.displayPrice}"
android:textColor="@color/selector_item_textwithspecial"
style="@style/ProductPrice"/>
Любой Идея, как решить эту проблему?
Спасибо ...