我有一个使用RelativeLayout的自定义ListView项,看起来像这样......
| Time | Title |
| | Description |
注意:左侧的“时间”是一个单独的全高TextView,其中“标题”和“描述为个人”堆叠'TextViews。
ListView项目表示使用SimpleCursorAdapter从SQLite DB中提取的电视节目。这很好但下一步是指示程序何时被安排记录(该应用程序是基于PC的PVR应用程序的Android客户端)。
SQL查询选择'start_time,title,description,is_set_to_record',前三个是要绑定到TextViews的文本字段,最后一个是布尔值。
似乎我可能需要扩展SimpleCursorAdapter,所以如果'is_set_to_record'为真,那么我将所有三个TextView的背景颜色设置为不同的颜色。问题是我不知道我应该在哪里做这件事。
这可能吗?如果是这样的话,任何指向我应该看的地方都会受到赞赏。
答案 0 :(得分:4)
在扩展的SimpleCursorAdapter中,您可以执行以下操作:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
Cursor c = getCursor();
c.moveToPosition(position);
int col = c.getColumnIndex(is_set_to_record);
boolean isSet = c.getInt(col) == 1;
if (isSet) {
// Set the background color of the text.
} else {
// Set the background color to something else.
}
return v;
}