动态更改背景颜色listView

时间:2013-07-26 19:15:34

标签: android android-listview

我需要根据字符串值(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);

1 个答案:

答案 0 :(得分:1)

我认为通过设置view.getParent()的背景,您可以设置整个ListView的背景。您是否尝试过使用view.setBackground()?

另一种方法是创建自己的适配器类,并根据严重性在getView()方法中设置视图的背景颜色。