我需要根据字符串值(JSON)动态更改列表视图的背景颜色。如果TAG_SEVERITY字段中的文本是“严重”,我想更改背景颜色。下面是我尝试的方法,但是使用代码,无论文本如何,它都会将严重性字段更改为蓝色。如果改变行颜色而不是字段背景颜色,我将是etter。我对此很陌生。
SimpleAdapter adapter = new SimpleAdapter(this, mCommentList,
R.layout.single_post, new String[] {TAG_SEVERITY, TAG_TITLE }, new int[] { R.id.severity, R.id.rTitle});adapter.setViewBinder(new SimpleAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Object data,
String textRepresentation) {
int v=view.getId();
if(v==R.id.severity && String.valueOf(data.toString()).contentEquals("Critical")){
((View) view.getParent()).setBackgroundColor(Color.BLUE);
}
TextView TV=(TextView) view;
TV.setText(data.toString());
return true;
}
});
setListAdapter(adapter);
答案 0 :(得分:1)
我认为通过设置view.getParent()的背景,您可以设置整个ListView的背景。您是否尝试过使用view.setBackground()?
另一种方法是创建自己的适配器类,并根据严重性在getView()方法中设置视图的背景颜色。