Как различить прочитанные и непрочитанные сообщения в Android ListView? - PullRequest
1 голос
/ 23 марта 2011

SimpleCursorAdapter используется в моем коде. Курсор содержит поле read (true / false). Если это правда, то строка должна быть показана серым цветом текста, если ложь - белым.

1 Ответ

1 голос
/ 23 марта 2011

Если это так просто, как вы написали, вы можете использовать setViewBinder / setViewValue в вашем SimpleCursorAdapter. Следующее покажет TextView макета строки, который будет окрашен в красный цвет, если столбец в вашем курсоре содержит интересующее вас значение. Если есть еще поля, вам нужно применить некоторые незначительные изменения. верните 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);
}
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...