ListView分页显示
来源:互联网 发布:ios手游模拟器 mac 编辑:程序博客网 时间:2024/06/03 20:54
当ListView要显示的数据过多时,为了更快的响应用户,这个时候ListView进行分页显示再合适不过了。
ListView分页显示数据的原理其实很简单,当用户滑到ListView最后一项时,通知异步线程进行加载下一页的数据,下一页数据加载完成时,调用设置好的Adapter的notifyDataSetChange()方法,ListView显示下一页的数据。
现在有两个问题要解决,第一个问题要知道用户是否滑到了ListView的最后一项;第二个问题是如何提示用户正在加载下一页的数据,让用户耐心等待。
解决第一个问题,我们只需自定义ListView,让它实现OnScrollListener类监听ListView的滑动状态,以此来判断是否滑动到了最后一项
- @Override
- public void onScroll(AbsListView view, int firstVisibleItem,
- int visibleItemCount, int totalItemCount ) {
- if (getAdapter() == null){
- return ;
- }
- if (getAdapter().getCount() == 0){
- return ;
- }
- int lastItemIndex = firstVisibleItem + visibleItemCount;
- if (lastItemIndex >= totalItemCount){
- // 用户已经滑动到了ListView的最后一项
- }
要解决第二个问题也是在onScroll()方法中来实现
- @Override
- public void onScroll(AbsListView view, int firstVisibleItem,
- int visibleItemCount, int totalItemCount) {
- if (getAdapter() == null){
- return ;
- }
- if (getAdapter().getCount() == 0){
- return ;
- }
- int lastItemIndex = firstVisibleItem + visibleItemCount;
- if (lastItemIndex >= totalItemCount && ! isLoading){
- addFooterView( footerView );//用来提示用户正在加载下一页的数据
- isLoading = true ;
- listener.loadData();
- }
当监听到用户滑动到最后一项时,添加footerView,并通知进行数据加载。
下面是一个简单的例子源码
0 0
- ListView分页显示数据
- ListView 分页显示
- ListView的分页显示
- android ListView分页显示
- Android ListView分页显示
- ListView 分页显示
- ListView分页显示
- ListView分页显示
- Android ListView分页显示
- ListView分页显示
- vb ListView数据库分页显示
- android ListView的分段显示、分页显示
- vb listview分页显示,打印recordset
- asp.net使用listview分页显示数据
- Android ListView实现分页显示数据
- Android ListView实现分页显示数据
- Android ListView 按钮点击分页显示
- asp.net使用listview分页显示数据
- Unity5中新的Shader
- 投骰子的随机游戏
- java中的匿名内部类总结
- CXF整合Spring整合實現WebService服務
- Android调用系统相机和相册-坑篇
- ListView分页显示
- Add Digits
- DVD
- hdu 5902 GCD is Funny
- 【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 & 第一个Shader的书写
- C语言实现99乘法表
- 微信应用号(小程序)开发IDE配置
- 第一篇博客
- 巴蜀 1738 曹冲养猪