При загрузке больших списков из медленного источника (например HTTP запрос) нет смысла загружать весь список сразу, особенно если пользователю потребуется лишь небольшое количество данных (результаты поиска, новостные статьи). В этом случае целесообразно реализовать постраничную подгрузку списка. В этой статье показан простой способ с использованием
footer view контрола
ListView. Подразумевается, что у нас уже есть список и его адаптер, который загружает элементы (пусть несколько первых, или весь) используя например ассинхронный HTTP запрос. Удобнее вынести запрос данных в отдельный класс, в котором добавить возможность подгрузки очередной страницы.
План действий
- Подготавливаем layout для элемента сообщения о процессе загрузки
- Подготавливаем контрол ListView
- Добавляем в адаптер списка код запуска загрузки следующей страницы
- Обрабатываем результат загрузки очередной страницы