Android - автоматическое отображение ListView не работает должным образом

Это продолжение вопроса, который я уже задавал некоторое время назад. Мне предложили решение, которое на самом деле не работает. Во всяком случае - вот проблема / вопрос

Я смотрю на некоторые сообщения из прошлого, и кажется, что если я добавлю элементы в адаптер ListView, он должен обновиться сам, и пользователь сможет прокрутить список недавно добавленных элементов. К сожалению это не то, что я наблюдаю. Если я добавлю новые элементы в существующий ArrayAdapter, обновленные результаты будут отображаться только в том случае, если я снова запустил ListView # setAdapter. Ничего не делать, аннулировать представление и т. Д. Ничего не делает. Вот фрагмент:

SearchItemsAdapter a = (SearchItemsAdapter) listview.getAdapter();
List<SearchItem> values = fetchNextSetOfItems();
a.append(values);
// unless I do this - I will not see the update, but if I do - 
// I'll jump to the top
listview.setAdapter(a);

Вот метод добавления:

public void append(List<SearchItem> values) {
        this.items.addAll(values);
}

Что-то я пропускаю?

1 ответ

Решение

Не добавляйте предметы в ArrayList, Добавьте их в ArrayAdapter,

Другие вопросы по тегам