我在xml中定义了一个名为myText的Textview。 textview有一个随附的drawable,它实际上是一个选择器。
当用户点击TextView时,我不仅要更改drawable,还要更改文本的颜色。我实现变更的代码如下。问题只是可绘制正在发生变化。文字没有改变。如何修复此代码以使文本颜色也发生变化?
内部活动
if (R.color.my_red == myText.getCurrentTextColor()) {
myText.setSelected(true);
myText.setTextColor(getResources().getColor(R.color.my_blue));
} else {
myText.setSelected(false);
myText.setTextColor(getResources().getColor(R.color.my_red));
}
选择
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/im_red" android:state_pressed="true"/>
<item android:drawable="@drawable/im_blue"/>
</selector>
答案 0 :(得分:1)
我发现了问题。我在比较苹果和橘子。修复是将getResources().getColor
添加到if子句。
if (getResources().getColor(R.color.my_red) == myText.getCurrentTextColor()) {
myText.setSelected(true);
myText.setTextColor(getResources().getColor(R.color.my_blue));
} else {
myText.setSelected(false);
myText.setTextColor(getResources().getColor(R.color.my_red));
}
答案 1 :(得分:0)
您可以使用Color
类,例如:Color.RED
。或者,如果您使用HTML样式颜色,甚至可以使用:.setTextColor(Color.parseColor("#FFFFFF"))