Отображение индикатора загрузки с Paging Library - PullRequest
2 голосов
/ 05 марта 2020

Я реализовал библиотеку подкачки с Room. Я использую Единый Источник Истины. Статьи (мои данные) будут загружены через Retrofit и будут добавлены в базу данных Room. Затем адаптер повторного просмотра прослушивает данные через ArticleItemBoundaryCallback :

public class ArticleItemBoundaryCallback extends PagedList.BoundaryCallback<ArticleModel> {
ArticleRepository repository;

public ArticleItemBoundaryCallback(ArticleRepository repository) {
    this.repository =repository;
}


@Override
public void onZeroItemsLoaded() {
    super.onZeroItemsLoaded();
    repository.getTenArticlesfromFirebaseAndRetrofit(1);
}

@Override
public void onItemAtEndLoaded(@NonNull ArticleModel itemAtEnd) {
    super.onItemAtEndLoaded(itemAtEnd);

    int page=0;
    if (itemAtEnd.getPage() == 0) {
        page = itemAtEnd.getPage() + 2;
    } else {
        page = itemAtEnd.getPage()+1;
    }

   repository.getTenArticlesfromFirebaseAndRetrofit(page);

}}

Хранилище решает, нужно ли ему извлекать данные из inte rnet или искать локальный кеш (база данных комнаты).

Но моя проблема в том, что в конце моего обзора переработчика нет индикатора загрузки. Пользователи могут быть не уверены, достигли ли они конца списка или загрузки. Я видел этот пример кода Google , но я не мог найти, где они добавили представление для загрузки.

...