我试图在ListView中更改文本的颜色,所以我创建了ViewBinder,但我的文本仍然是白色,没有任何变化,该怎么办?
// map each name to a TextView
String[] from = new String[] { "event" };
int[] to = new int[] { R.id.countryTextView };
conAdapter = new SimpleCursorAdapter(Clock.this, R.layout.day_plan, null, from, to);
setListAdapter(conAdapter); // set adapter
SimpleCursorAdapter.ViewBinder binder = new SimpleCursorAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex){
int getIndex = cursor.getColumnIndex("colour");
String color = cursor.getString(getIndex);
tv = (TextView)findViewById(R.id.countryTextView);
tv.setTextColor(Color.BLUE);
if(color.equals("Green"))
{
tv.setTextColor(Color.rgb(0,255,0));
return true;
}
return false;
}};
最佳答案
您打过conAdapter.setViewBinder(SimpleCursorAdapter.ViewBinder)
吗?也就是说,您确定实际上正在调用这些方法吗?
还要更改以下几行之一:
tv = (TextView)view.findViewById(R.id.countryTextView); // <-- add 'view.'
关于android - 使用SimpleCursorAdapter.ViewBinder更改listView中的颜色。安卓,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14285437/