I have the following selector defined in an XML file under res/color/redeemlist_item_color.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#FFFFFF" /> <!-- pressed --> <item android:state_selected="true" android:color="#FFFFFF" /> <!-- focused --> <item android:color="#000000" /> <!-- default --> </selector>
I also have a TextView
in a ListView
item layout. When I set android:textColor
on this TextView
to the above selector in XML, then the color changes correctly when the item is selected. However, I am trying to set this resource programmatically in the following way:
holder.label.setTextColor(R.color.redeemlist_item_color);
When set in this way, the color no longer changes. Can a selector be assigned to a TextView
in this way?
TextView Text Color – To change the color of text in TextView, you can set the color in layout XML file using textColor attribute or change the color dynamically in Kotlin file using setTextColor() method.
Open your device's Settings app . Text and display. Select Color correction. Turn on Use color correction.
I think you might need to add findViewById
or something of that variety
Edit: the above is incorrect as per my comment the proper answer is
setTextColor(getResources().getColorStateList(R.color.redeemlist_item_color));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With