Ben res/renk/redeemlist_item_color.xml altında bir XML dosyasında tanımlanan aşağıdaki seçici var: Ben de bir ListView
madde düzeninde bir TextView
Ayar TextView'un renk programlı
<?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>
var. Bu TextView
üzerinde android:textColor
değerini yukarıdaki seçiciye XML olarak ayarladığımda, öğe seçildiğinde renk doğru olarak değişir. Ancak, şu şekilde programlı Bu kaynağı ayarlamak çalışıyorum: Bu şekilde belirlenen
holder.label.setTextColor(R.color.redeemlist_item_color);
, renk artık değişiklikleri. Bir seçici bu şekilde TextView
'a atanabilir mi?
İşte benim yorumum HD_Mouse: Tamam, belki de çok fazla kod kaldı. FindViewById() için zaten bir çağrı yaptım. Benim sorunum boş bir işaretçi istisnası ya da bir şey değil, görünüm iyi yükler. Bu, bir BaseAdapter alt sınıfında olan koddur. –
Bir daha ifade edeyim: R.'yi bir değere dönüştürmeniz gerekir. Doğru işlev getViewbyid olduğunu düşündüm. Yanılmışım ... şunu deneyin: setTextColor (getResources(). GetColor (R.color.redeemlist_item_color)); – Rasman
@Rasman: Bu doğru değil, bir ** setTextColor (getResources() .getColorStateList (R.color.redeemlist_item_color)); ** – Leeeeeeelo