我正在使用以下选择器
text_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="@android:color/white"/>
<item android:state_focused="true" android:color="@android:color/white"/>
<item android:state_pressed="true" android:color="@android:color/white"/>
<item android:color="@android:color/black" />
</selector>
我使用以下代码在运行时设置选择器
txtMainlabel.setTextColor(R.color.text_selector);
答案 0 :(得分:0)
txtMainlabel.setTextColor(R.color.text_selector);
setTextColor期望与颜色值对应的整数。你正在做的是使用整数值R.color.text_selector来归因颜色。您可以在R文件中看到该值。因此,您始终为视图设置相同的颜色。
要设置颜色,您可以执行以下操作:setTextColor(Color.white)
。
另外我不确定TextView是否有状态,因此我不确定您是否可以将选择器设置为TextView。如果它不是一个选项,您可以随时设置单击侦听器并为这些操作设置新颜色。
答案 1 :(得分:0)
将您的选择器放在res / drawable下并使用
label.setTextColor(getResources().getColorStateList(R.drawable.text_selector));
不要忘记在布局
中的TextView声明中设置android:clickable="true"