【Android 非常基础】ListView分页加载提交的参数分析
来源:互联网 发布:和平典范 知乎 编辑:程序博客网 时间:2024/04/29 02:01
ListView数据一般会采用分页加载,以便提高用户体验。分页加载,那就涉及到滑动到底加载更多,逻辑是:监听ListView的滑动状态,判断若最后一条出现在屏幕中,则认为滑动到底,提交一个网络请求获取数据。在提交请求时,参数一般为起始下标fromIndex,终止下标toIndex。例如每次请求20条数据,加载第一页,提交的参数分别是fromIndex=0,toIndex=19,加载第二页,fromIndex=20,toIndex=39,以此类推。如果是这样的话,那就会有问题,场景如下:
当加载第一页数据时,提交参数为fromIndex=0,toIndex=19,服务器返回了20条数据,是第0-19条,
当加载第二页数据时,提交参数为fromIndex=20,toIndex=39,因为数据库一共也只有25条数据,那么这次服务器返回了5条数据,是第20-24条。
这时数据库数据突然增多,增加到了60条(即第0-59条),那么当加载第三页数据时,提交参数为fromIndex=40,toIndex=59,那么这次服务器返回了20条数据,是第40-59条。
大家看出问题来了吗,第25-39条数据是不是就请求不到了,出现这种问题主要是因为默认返回的数据都是20条,没有考虑不满20的情况。
解决此问题,有以下方法:
1.客户端请求的参数仍然是fromIndex,toIndex,不过fromIndex与toIndex的值要根据服务器真正返回的条数做计算,默认第一页是fromIndex0,toIndex=19,服务器返回了20条,第二页,fromIndex=20,toIndex=39,服务器返回了5条,那么第三次fromIndex=25,toIndex=44,以此类推。
2.客户端请求的参数是lastItemId,将上一页最后一条item id值作为参数提交给服务器,服务器将此id后一页的20条数据返回给客户端。
前者是客户端做的事情较多,后者是服务器做的事情较多。
- 【Android 非常基础】ListView分页加载提交的参数分析
- android中关于ListView分页加载数据的分析
- android listview的分页加载
- android下listview的分页更多加载(效果非常实用)
- Android ListView 分页加载
- android ListView分页加载
- android 实现listview的分页加载
- android 实现listview的分页加载
- Android 简单的listview分页加载
- ListView的分页加载
- ListView的分页加载
- ListView的分页加载
- listview 的分页加载
- listview的分页加载
- ListView的分页加载
- ListView的分页加载
- 【Android 非常基础】PopupWindow showAtLocation和showAsDropDown参数分析
- 【Android 非常基础】PopupWindow showAtLocation和showAsDropDown参数分析
- No qualifying bean of type [javax.persistence.EntityManage] 异常问题的解决
- mysql5.5.29绿色版的安装
- Displaying Webform submission data in Drupal Views
- GDI+新建画刷时出现new错误问题
- 设计模式六大原则(2):里氏替换原则
- 【Android 非常基础】ListView分页加载提交的参数分析
- 修改CAS框架源码实现多字段认证单点登录
- makefile调试总结
- Spring Quartz 动态配置定时任务
- 数据挖掘入门作
- 怎么控制PowerPoint里的Flash歌曲播放
- 技术大佬告诉你:创业型APP如何选择推送平台
- redis配置文件参数说明
- 自定义View之自定义标题栏