SimpleCursorAdapter
используется в моем коде.
Курсор содержит поле read
(true/false).
Если это правда, то строка должна отображаться с серым цветом текста, если false - с белым.
Если это так просто, как вы написали, вы можете использовать setViewBinder/setViewValue в своем SimpleCursorAdapter. Ниже будет показан TextView макета строки, который будет окрашен красным, если столбец в вашем курсоре имеет какое-то значение, представляющее для вас интерес. Если есть больше полей, вам нужно применить некоторые незначительные изменения. return true, если вы устанавливаете собственные значения, возвращайте false, если Android должен рисовать:
... 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);
}
...