如何在分页3库android的PagingData中添加多个项目?



我想在当前分页数据中添加一些项目它已经包含了项。并显示在列表适配器中。

我尝试插入theaderitem。但是,当添加第二项时。头被替换为第二个项目。我想保留清单上所有的项目。并在每次添加时更新列表新项目。

paingData
.insertHeaderItem(item = sampleViewEvents.comment)
.let {
getCommentList.value = it
}

我不想调用API来刷新整个列表。这会导致性能问题。

Thanks in advance

使用分页添加/修改项的正确方法是更新备份数据集和.invalidate(),刷新列表。这维护了一个单一的事实来源,并允许Paging知道您所做的更改。

为了提高性能,您可以将数据缓存到中间DB/in-memory层,并通过RemoteMediator从网络加载项目。如果您这样做(如果您关心性能,就应该这样做),重新加载将变得非常微不足道。参见:https://developer.android.com/topic/libraries/architecture/paging/v3-network-db

如果你有兴趣更新一个特定的页面,你可以关注这个FR: https://issuetracker.google.com/160232968。

要清楚,你必须通过invalidate循环来更新由Paging加载的项。不这样做目前是完全不支持的。这是让分页意识到您所做的更改的唯一方法。

最新更新