android - 根据值对 ListView 自定义项目元素进行着色

标签 android listview

我有一个简单的(?)问题,但我似乎无法解决。

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

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

可能吗?

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

提前谢谢您。

最佳答案

在您的列表适配器(例如,参见 http://www.vogella.com/articles/AndroidListView/article.html#adapterown_example )中覆盖 getView() ,并在设置第二个 TextView 的值时设置其背景颜色。例如:

 @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;

}

关于android - 根据值对 ListView 自定义项目元素进行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19787798/

相关文章:

java - Android Studio findViewById(R.id.button1) 错误

listview - 按项目和分隔线过滤 ListView

android - 在 ListView 上的 onItemClick 之后返回 Activity 而不创建新 Activity

listview - 使用 clistctrl 对齐文本

java - 有没有办法向人们提供优惠券代码以免费下载您的应用程序?

android - 在 native android 应用程序中使用字体图标是一种不好的做法吗?

listview - 鼠标套索选择期间 ListView 滚动的错误(Windows 10 更新 16299)

android - 如何使用选择器设置初始 ListView 项目背景颜色

android - 使用 Koin 中的 inject() 函数类型不匹配

android - Android中如何根据条件选择启动Activity