Я пытаюсь добавить элементы в адаптер, когда пользователь прокручивает список до конца.Я могу сделать это, однако я хочу добавить новые элементы в адаптер и сохранить элементы, которые уже были там, но, как сейчас, оригинальные элементы удаляются, и видны только новые.Есть какие-нибудь идеи относительно того, как мне этого добиться?
Вот так выглядит мой код atm:
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (loading) {
if (totalItemCount > previousTotal) {
previousTotal = totalItemCount;
loading = false;
previousTotal = totalItemCount;
currentPage++;
}
}
if (!loading
&& ((firstVisibleItem + visibleItemCount) >= totalItemCount)) {
if (fragmentMode == 5) {
ActiveUser.getInstance().FetchVidPage(currentPage, chanID,
activity, this);
loading = true;
}
}
}
@Override
public void onTaskFinished() {
titles.addAll(ActiveUser.getInstance().getWebVidInfo(1));
thumbs.addAll(ActiveUser.getInstance().getWebVidInfo(2));
data.addAll(ActiveUser.getInstance().getWebVidInfo(3));
describtions.addAll(ActiveUser.getInstance().getWebVidInfo(4));
vidOwnerIDs.addAll(ActiveUser.getInstance().getWebVidInfo(4));
notifyDataSetChanged();
}
Просто чтобы прояснить, что я делаю;Как только нижняя часть списка становится видимой, я запускаю AsyncTask, который загружает больше видео.В asynctask я установил адаптер в качестве прослушивателя для события, которое запускается после завершения asynctask - это работает.
onTaskFinished () последний метод выше - здесь я добавляю новые элементы в 4 списка, которые адаптериспользуется для заполнения каждого элемента списка, и, наконец, я уведомляю адаптер.
Таким образом, все новые элементы добавляются в порядке, проблема в том, что элементы, которые были в до добавления новых, предназначены длякакая-то причина удалена или больше не видна.
Забыл добавить, что я убедился, что длина списков действительно увеличивается, то есть она содержит как исходные данные, так и добавленные
Любыеидеи?
[РЕДАКТИРОВАТЬ] Добавление кода, где я установил адаптер для просмотра списка
adapter = new LazyAdapter(getActivity(), ActiveUser.getInstance()
.getWebVidInfo(3),
ActiveUser.getInstance().getWebVidInfo(1), ActiveUser.getInstance()
.getWebVidInfo(2),
ActiveUser.getInstance().getWebVidInfo(5), ActiveUser.getInstance()
.getWebVidInfo(4), CHAN_ID, FRAGMENT_MODE);
listing.setAdapter(adapter);
listing.setOnScrollListener(adapter);