1
SimpleCursorAdapter
用於我的代碼。 光標包含字段read
(true/false)。 如果屬實,則應該用灰色文本顏色顯示行,如果爲假 - 用白色。如何區分Android ListView中的讀取和未讀消息?
SimpleCursorAdapter
用於我的代碼。 光標包含字段read
(true/false)。 如果屬實,則應該用灰色文本顏色顯示行,如果爲假 - 用白色。如何區分Android ListView中的讀取和未讀消息?
如果你寫得很簡單,你可以在你的SimpleCursorAdapter中使用setViewBinder/setViewValue。如果光標中的一列包含您感興趣的某些值,以下內容將顯示行佈局的TextView,該行佈局將以紅色繪製。如果有更多的字段需要應用一些較小的更改。如果你設置了自己的值,返回true,如果Android應該繪製返回false:
... create SimpleCursorAdapter
if (simpleCursorAdapter != null) {
simpleCursorAdapter.setViewBinder(new SimpleCursorAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
TextView textView = (TextView) view;
long l = cursor.getLong(positionOfReadValue);
if (l == valueOfRead) {
textView.setTextColor(Color.RED);
}
return false;
}
});
setListAdapter(simpleCursorAdapter);
}
...
Thanks,@hjw。我可以對圖標使用相同的方法嗎(它會顯示是否讀取項目)?或者它不會對圖標有效? – 2011-03-24 12:45:35
當然,您可以在onCreate中創建一個Drawable,將一個ImageView添加到您的行佈局中,並在遊標中的其他字段具有感興趣的值時設置Drawable。 – 2011-03-24 17:28:31
如何更改以下行 - 「TextView textView =(TextView)view;',如果我的listview的每一行都有2個項目 - 圖標和textview? – 2011-03-25 17:22:41