基于值着色listview自定义项元素

时间:2013-11-05 11:21:15

标签: android listview

我有一个简单的(?)问题,我似乎无法修复。

我必须使用两列填充listview - 两个字符串数组。 经过大量搜索,我设法做到了这一点(见here)。

现在,我需要做的是根据其值为第二项红色,紫色或蓝色的背景着色。

有可能吗?

我知道使用自定义列表视图可以完成很多事情,甚至可以根据特定值分配不同的图像。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

在listadapter中(例如,参见http://www.vogella.com/articles/AndroidListView/article.html#adapterown_example)覆盖getView(),并在设置第二个textview的值时设置其背景颜色。 e.g:

 @Override
public View getView(int position, View convertView, ViewGroup parent) {
     LayoutInflater inflater = (LayoutInflater) context
    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
     TextView textView = (TextView) rowView.findViewById(R.id.label);
     textView.setText(values[position]);

     String s = values[position];
     if (s.startsWith("red")) {
        //BACKGROUND COLOR CHANGE
         textView.setBackgroundColor(getResources().getColor(R.color.your_red));**
     } 

   return rowView;

}