Я использую RecyclerView
и получая объекты из API пакетами по десять. Для разбивки на страницы я использую EndlessRecyclerOnScrollListener
.
Все работает нормально. Теперь все, что осталось, - добавить прокрутку прогресса в нижней части списка, в то время как следующая партия объектов извлекается API. Вот скриншот приложения Google Play Store, показывающий ProgressBar
в том, что, несомненно, RecyclerView
:
Проблема заключается в том, что ни RecyclerView
, ни EndlessRecyclerOnScrollListener
не имеют встроенной поддержки для отображения ProgressBar
внизу, пока следующая партия объектов извлекается.
Я уже видел следующие ответы:
1. Поместите неопределенный ProgressBar
в нижний колонтитул в RecyclerView
сетку. p >
2. Добавление элементов в Endless Scroll RecyclerView
с ProgressBar
внизу. p >
Я не удовлетворен этими ответами (и тем же человеком). Это включает в себя shoehorning объект null
в набор данных на полпути, пока пользователь прокручивается, а затем вынимает его после отправки следующей партии. Это похоже на хак, который обходит основную проблему, которая может или не может работать должным образом. И это вызывает немного резкости и искажения в списке
Использование SwipeRefreshLayout
здесь не является решением. SwipeRefreshLayout
включает в себя вытягивание сверху, чтобы извлечь новейшие элементы, и в любом случае он не отображает представление прогресса.
Может ли кто-нибудь предложить хорошее решение для этого? Мне интересно узнать, как Google внедрил это для своих приложений (в приложении Gmail тоже есть). Существуют ли какие-либо статьи, где это подробно показано? Все ответы и комментарии будут оценены. Спасибо.
Другие ссылки:
1. Разбиение страницы с помощью RecyclerView
. (Превосходный обзор...)
2. RecyclerView
заголовок и нижний колонтитул. (Больше того же...)