Yog*_*ear 8 android android-paging android-jetpack-compose android-paging-3
基本上我有一个在可组合函数中收集的分页数据流:
val list = state.listFlow.collectAsLazyPagingItems()
Run Code Online (Sandbox Code Playgroud)
列表中的每个项目都有一个号召性用语按钮,该按钮将启用/禁用视图并更新相应项目的 UI。
我的问题是,我们如何更新项目的视觉状态,而不需要在 PagingData 上调用刷新,从而重新查询 API/数据库以获取更新的数据?
此外,如果用户滚动浏览了 5 个或更多页面,我不想重新加载整个内容,更改可以是本地的。
有关如何实现这一目标的任何线索?
这对于需要不可变列表的 Paging3 来说几乎是不可能的。请参阅https://issuetracker.google.com/issues/160232968。
这个问题困扰了我几个月,最后我决定放弃 Paging3 库并编写自己的分页列表以避免所有这些奇怪的功能。Paging3的复杂性大部分是因为它要将分页列表封装在一个库中,这需要视图层和模型层协同工作。
这是我实现的分页列表: https://gist.github.com/FishHawk/6e4706646401bea20242bdfad5d86a9e
如果您的项目对 paging3 库没有深度依赖,我强烈建议您尝试这样做。
| 归档时间: |
|
| 查看次数: |
3143 次 |
| 最近记录: |