android中selector在java代码中使用无效的解决方案

最近在做项目,有些按钮图片需要设置不同的状态且对应不同的icon。在此过程中遇到了一些问题。

~在用到TextView时,要设置它的文字颜色和drawableleft图片在不同的status下的情况,此时用到selector。



以上是字体颜色和对应状态的图片selector。在使用的时候,放在xml中

android:textColor=“@drawable/sssss”

android:  drawableleft=“@drawable/sssss”

在java类里面用setEnable()方法来直接控制对应的状态显示。

遇到的问题:

在java给textview的文字设置selector时无效具体代码是:

tv.setTextColor(getResource().getColor(R.color.selector));

使用这行代码后在用setEnable来改变状态后显示无效。

后来查找了原因,在xml中使用selector,系统会自动转换成colorstatelist.而在java代码中需要使用

tv.setTextColor(getResources().getColorStateList(R.color.selector_color_ffffff_d6d6d6));然后问题解决bingo

你可能感兴趣的:(android中selector在java代码中使用无效的解决方案)