2013-04-23 33 views
0

我想在点击列表项目时更改文本颜色。setcolor在自定义列表视图中不起作用

我已经创建了RES /颜色/ textcolor_selector选择文件,但文本颜色没有改变,当点击TextView的

下面

是我的代码

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

我想你应该使用'getResources()。getColorStateList(R.color.textcolor_selector)''setTextColor。 – harism 2013-04-23 06:20:36

+0

谢谢。它的工作! – 2013-04-23 06:25:07

回答

0

而不是仅传递一种颜色;

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

您应该改为使用ColorStateList;

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

在你当前的实现你打电话TextView.setTextColor(int)方法,而不是.setTextColor(ColorStateList)