【发布时间】:2020-07-15 07:31:20
【问题描述】:
我正在使用Android Paging 3 library。在我的测试配置中,它有一个PagingConfig、pageSize = 10 和maxSize = 40。当我向下滚动配置的RecyclerView 时,一切都按预期工作——当我接近列表的下限时,会加载新的数据部分。当我们加载了太多数据项(超过配置的maxSize)时,它开始被删除 - 这是预期的行为。但是当我开始向上滚动时,有空的视图持有者没有这些被丢弃项目的任何数据。这意味着适配器项目的数量在清理PagingData 时不会改变。如何从PagingDataAdapter 中删除这些丢弃的项目(等于null)?有没有这方面的API?如果应该自动完成,那么我对 Paging 3 的配置可能是错误的。在这种情况下,我将提供代码。
【问题讨论】:
-
看起来我的配置是正确的——如果我们为它配置
maxSize,Paging 3 库的官方代码实验室也会这样做(丢弃项目的空数据模型)...... -
架构组件样本仓库中的 PagingWithNetworkSample 也是如此。看起来我现在能做的最好的事情是禁用
maxSize限制。 -
看起来
retry()中的PagingDataAdapter方法也不起作用。当我在页面获取失败后调用它时没有反应。现在将使用refresh()...
标签: android android-paging android-paging-library