我试图在我的应用程序中显示无尽的滚动屏幕。我没有使用新的分页库,所以每次我检测到底部滚动时,我都会请求一个新的列表来显示数据。我确实使用 LiveData 将这些数据发布到 UI,当我有疑问时就在这里。每次我拉出一个新的数据列表来显示时,LieData 都会发布该列表,正如我所见,我确实有一些选项来处理它:
- 让 LiveData 推送请求的每个新数据列表,并在适配器内实现某种
loadData
基本上将所有数据添加到现有列表的方法,然后调用notifyItemRangeInserted
- 在 ViewModel 中保留完整的数据列表,并让 LiveData 每次推送整个列表并在适配器上实现 UtilDiff,这最终导致重复的数据列表可能增长到危险大小。
这将是正确的方法(不仅在此处列出的方法之间)