每当我的应用程序打开时,我都会实现listview,我的想法是根据条件更改每一行的颜色,如下所示,这不是实际的代码,只是伪代码来显示我的想法:
if condition = completed (row color is green)
if condition = in Progress (row color is blue)
if condition = pending (row color is red)
我如何在我的主要活动课程中实现这一点?请帮忙!
答案 0 :(得分:1)
通常,当您创建自定义ListView
项时,您必须创建自己的ListAdapter
实现,例如扩展BaseAdapter
类。在适配器内部,您将拥有项目数据,您可以将其与创建的视图绑定。
应使用自定义XML布局创建视图,其中包含更改颜色的元素,例如行背景。
将项目数据绑定到视图的适配器getView()
方法可能如下所示。
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView;
if (convertView == null) { // if it's not recycled, initialize some attributes
textView= new TextView(mContext);
textView.setLayoutParams(new GridView.LayoutParams(85, 85));
textView.setPadding(8, 8, 8, 8);
} else {
textView= (TextView) convertView;
}
textView.setBackgroundColor(blue);
return textView;
}
这是基本的想法。如果您提供已经尝试过的代码,我将能够进一步为您提供支持。
答案 1 :(得分:0)
为了处理和测试每个条目,您需要某种自定义适配器 这是我使用的自定义数组适配器的一个很棒的教程。您可以在适配器的循环中测试和修改文本颜色。