Android - CursorAdapter setViewValue не изменяет содержимое отображаемого текста TextView - PullRequest
0 голосов
/ 01 мая 2020

У меня есть простой адаптер курсора с ListView, который работает просто отлично. Я вывожу Имя одному из 3 TextViews в элементе ListView XML.

Но, исходя из предпочтений пользователя, я хочу изменить имя с «Jeff Jones» на «Jones, Jeff».

Я подумал, что мог бы сделать это с переопределением метода SetViewValue ().

Просто

public boolean setViewValue(View view, Cursor cursor, int i) {
    if (view.getId() == R.id.Name) {
        String Name = cursor.getString(cursor.getColumnIndex(nameColumn));
        Name = Name.substring(Name.lastIndexOf(" ") + 1) + ", " + Name.substring(0, Name.lastIndexOf(" "));
        ((TextView) view).setText(Name);
    }
}

Если я пошагово выполняю это в отладчике, я правильно собираю «Последняя, ​​первая» строка и установка значения TextView. Но текст отображается как «Первый последний» в ListView.

Где моя ошибка?

1 Ответ

0 голосов
/ 01 мая 2020

Я забыл вернуть true, чтобы указать, что значение было переопределено.

return true;
...