drakeet / MultiType

Flexible multiple types for Android RecyclerView.
Apache License 2.0
5.76k stars 751 forks source link

分页查询列表数据重复 Paging query list data duplication #196

Closed haohaozaici closed 6 years ago

haohaozaici commented 6 years ago

虽然知道在issue中提问,是不好的选择,但是也希望后来遇到相同问题的人,能够看到您的回复。

问题

大佬你好~最近在学习Android列表的时候遇到了一个问题。在使用分页查询接口,加载下一页数据的时候,后台的数据已经更新了,导致请求、合并第二页数据后,列表出现了重复。

之前在其他issue中看到了关于diff的回复,也意识到了其重要性。所以开始想到的处理办法是,diff数据的差异,合并相同的数据。

后来发现,如果数据更新的数量超过了接口的每页的总数,就会出现中间数据丢失。。。

现在能想到的处理办法是,查询的时候,传入当前页最后一位数据的id,后台根据id查询下一页的数据,貌似感觉问题得到了解决,但是不知道有没有更好的解决方法。。。

期待您的回复~

haohaozaici commented 6 years ago

看完Paging Library后,对分页数据的来源、查询、处理、显示有了更加全面的理解,之前的问题也迎刃而解了。

drakeet commented 6 years ago

如果数据频繁变更,应该用时间戳或 id 作为分页。

haohaozaici commented 6 years ago

是的,感谢回复~