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
,