【问题标题】:Displaying loading indicator with Paging Library使用分页库显示加载指示器
【发布时间】:2020-06-17 23:51:09
【问题描述】:

我已经用 Room 实现了分页库。我正在使用单一事实来源。文章(我的数据)将通过 Retrofit 获取并插入到 Room 数据库中。然后recyclerview适配器通过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);

}}

存储库决定是否需要从 Internet 获取数据或查找本地缓存(房间数据库)。

但我的问题是我的 recyclerview 末尾没有加载指示器。用户可能不确定他们是否到达列表末尾或正在加载。 我看到this google code sample 但我找不到他们在哪里添加加载视图。

【问题讨论】:

    标签: android android-recyclerview android-architecture-components android-paging-library


    【解决方案1】:

    借助新的 Paging 3 库,您可以在列表的开头和结尾显示 loading state 以及重试功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      相关资源
      最近更新 更多