【问题标题】:onItemAtEndLoaded is called immediately after onZeroItemsLoadedonItemAtEndLoaded 在 onZeroItemsLoaded 之后立即调用
【发布时间】:2018-07-31 22:31:26
【问题描述】:

我有一个问题,方法onItemAtEndLoaded onZeroItemsLoaded 之后立即调用,该行为应该只在我完成滚动时才会发生。你对正在发生的事情有任何想法吗?我可以提供我的 GitHub 存储库。

【问题讨论】:

    标签: android-jetpack android-paging


    【解决方案1】:

    我已经通过在PagedListConfig中将PrefetchDistance 设置为零 解决了这个问题

    PagedList.Config.Builder()
                    .setPrefetchDistance(0) // solved
                    .setInitialLoadSizeHint(pageSize)
                    .setPageSize(pageSize)
    

    【讨论】:

    • 嗨,在我看来,这似乎是正确的答案,我也在文档中阅读过,因为我在这里理解这些论点。虽然现在 onItemAtEndLoaded 在更改为 this 后永远不会被调用。
    • 您使用的是哪个数据源?
    • 感谢 Malmaison 回复,DataSource.factory
    • 我使用 Google codelab 来学习和实现这一点,mithun search one,他们的搜索 api 采用 page_no 和 limit 而我的采用 offsetId(获取具有更高 id 的项目)和限制
    • 实际上,我想到了这个想法,它不起作用可能与数据源的类型有关
    猜你喜欢
    • 1970-01-01
    • 2021-07-08
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    相关资源
    最近更新 更多