android 下拉分页,重复数据问题???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 下拉分页,重复数据问题???相关的知识,希望对你有一定的参考价值。

现在就是我在后台写了一个分页语句,查的是第1到第10为第一页,如果我新加一个,第10就变成第11个了,安卓现在不是下拉分页嘛,现在如果看的是第一页的数据,如果这时候新加一个数据,就把第10变成第11,那下拉出来的数据不是第10数据重复了???
我写的sql是前面有个id的,安卓从手机传开始和结束,如果第一页是10条数据,就传1,10两个参数给后台,后台查询id从第1到第10条数据给安卓前台显示
现在安卓不是没有下一页,上一页嘛,都是下拉分页的,这就有个问题
前台先显示出来第一页是10条数据,如果这个时候新添加一条数据,就把原来的第一条数据顶替了,第10条变成第11条,
这时候下拉的话,原来已经显示10条数据了,但是现在从数据库查出来11到20,而原来的第10条变成第11条,在这里就又被查出来了,这时候第10就重复了
这个就相当于QQ空间分页,好友更新消息,我这还没更新,只能看到第1到第10条,但是数据库已经有新的一条数据,我这时候下拉分页的话,第10条这时候变成第11条,第10条就相当于又显示出来了,所以只要下拉分页的话,上一页最后一条就重复了,如果多上传几个数据的话,就把原来前几条数据顶替了,下拉的话第一页后面几条都重复了,现在不是全部刷新,全部刷新就没问题了,现在只是下拉刷新,第一页还显示,只是新加一条数据,在页面上没显示,但是数据库里面已经有了,所以上一页的最后一条数据就重复了,这个怎么弄,那位大神能不能给个解决方法????

数据库查询的时候可以设置查询起始项和查询个数的,这是两个查询参数,一般要查询的个数都是不变的,比如我每次要查询10条数据,这个是就设置为10.但是每次加载新数据从数据库获取数据时起始项是不一样的,比如数据库有21条数据,第一次查询后显示10条,那么起始项此时要变为0+10就是10,第二次查询后为10+10=20,第三次就不一样了,因为要查询的数据只有1条了,所以每次要比较查询到的数据和设定的查询个数大小,因为1<10,所以此时查询的起始项要变为20+1=21.至于你说的新加了一条数据的话,那就属于数据存储的问题了,一般最后增加的数据要按时间排到最后,那么就不会出现重复的问题了。追问

假如我还是每次请求10条记录,第一次提交第一页的时候,手机上获得了10条记录,操作的人在滑动到第十条记录时,客户端又向服务器请求第二页,那么正常情况下应该是第11~20条记录,但是问题从此开始了,假如服务器上的数据(假如是共享数据,其他用户也可以操作)被其他用户插入

追答

我写成评论了

参考技术A 你逻辑理解错了,钻了牛角了

你把显示数据跟加载数据混一起了

你下拉的时候发请求拿回的数据是11-20,但是你显示的不是11-20。比如我要做个预加载,就是我要显示10条数据,但我发请求拿回来的数据是20条。

你显示数据是你控制的

android分页请求,重复数据如何处理

1.如图

如图上的ks031数据,在数据请求时,第一次请求20条数据,再次加载下一页20条数据时,后台的数据处理导致ks031排序到了第2页,出现加载重复现象,

这种情况则是怎么处理?

有谁明白,求指教

以上是关于android 下拉分页,重复数据问题???的主要内容,如果未能解决你的问题,请参考以下文章

Firestore分页与FirestoreRecyclerAdapter(Android)[重复]

thinkPHP数据分页,为啥点击分页按钮的时候会把整个模板模板一直重复渲染

Laravel 分页显示重复和替换随机行

分页功能设计(解决数据重复问题)

JS下拉加载数据

获取分页反应的firestore收集记录计数[重复]