setcolor在自定义列表视图中不起作用

时间:2013-04-23 06:17:25

标签: android android-layout listview

我想在点击列表项时更改文字颜色。

我在res / color / textcolor_selector中创建了选择器文件,但单击textview时未更改textcolor

下面是我的代码

TextView textView = (TextView) view.findViewById(R.id.txt);
            textView.setText(listArr[position]);

            textView.setTextColor(getResources().getColor(R.color.textcolor_selector));

textcolor_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="@color/selectedcolor"  />
<item android:state_focused="true" android:color="@color/selectedcolor" />
<item android:state_pressed="true" android:color="@color/selectedcolor" />
<item android:color="@color/nonselectedcolor" />
</selector>

1 个答案:

答案 0 :(得分:0)

而不是只传递一种颜色;

getResources().getColor(R.color.textcolor_selector)

您应该改为传递ColorStateList;

getResources().getColorStateList(R.color.textcolor_selector)

在您当前的实施中,您调用的是TextView.setTextColor(int)方法,而不是.setTextColor(ColorStateList)