Android - автоматическое отображение ListView не работает должным образом - PullRequest
1 голос
/ 13 октября 2009

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

Я смотрю на некоторые сообщения из прошлого, и кажется, что если я добавлю элементы в адаптер 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 Ответ

2 голосов
/ 13 октября 2009

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

...