当ListView要显示的数据过多时,为了更快的响应用户,这个时候ListView进行分页显示再合适不过了。

     ListView分页显示数据的原理其实很简单,当用户滑到ListView最后一项时,通知异步线程进行加载下一页的数据,下一页数据加载完成时,调用设置好的Adapter的notifyDataSetChange()方法,ListView显示下一页的数据。
     现在有两个问题要解决,第一个问题要知道用户是否滑到了ListView的最后一项;第二个问题是如何提示用户正在加载下一页的数据,让用户耐心等待。
     解决第一个问题,我们只需自定义ListView,让它实现OnScrollListener类监听ListView的滑动状态,以此来判断是否滑动到了最后一项
        @Overridepublic 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()方法中来实现
        @Overridepublic 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,并通知进行数据加载。
     下面是一个简单的例子源码

ListView分页显示相关推荐

  1. android listview分页显示,Android应用中使用ListView来分页显示刷新的内容

    点击按钮刷新1.效果如下: 实例如下:  上图的添加数据按钮可以换成一个进度条  因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: ...

  2. listview mysql查询_Sqlite 数据库分页查询(ListView分页显示数据)

    下面介绍一下我的这个demo. 流程简述: 我在raw文件夹下面放了名称为city的数据库,里面包含全国2330个城市,以及所属省,拼音简写等信息. 首先 在进入MainActivity的时候,创建数 ...

  3. 分组显示的ListView分页加载数据

    参考:  http://www.cnblogs.com/qianxudetianxia/archive/2011/06/07/2074326.html 分组的ListView的拖拽  http://w ...

  4. Android ListView分页,动态添加数据

    1.ListView分页的实现,重点在于实现OnScrollListener接口,判断滑动到最后一项时,是否还有数据可以加载, 我们可以利用listView.addFootView(View v)方法 ...

  5. WPF 实现 DataGrid/ListView 分页控件

    原文:WPF 实现 DataGrid/ListView 分页控件 在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来.如果数据量很大,200 ...

  6. ListView分页详解(非常有用)

    一.ListView分页: (一).目的:          Android 应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一 ...

  7. Android_ListView上拉加载更多(ListView分页功能)

    先上效果图 加载完数据 首先定义一个底部正在加载的布局footer_layout.xml <?xml version="1.0" encoding="utf-8&q ...

  8. Django中html里的分页显示

    分页一(very low) 因为数据量过大,而又想直观便捷的查看数据,进而通过分页显示就可以完成这项工作 app中views.py LIST=[] #全局定义一个LIST for i in range ...

  9. scroll事件实现监控滚动条并分页显示示例(zepto.js)

    scroll事件实现监控滚动条并分页显示示例(zepto.js  ) 需求:在APP落地页上的底部位置显示此前其他用户的购买记录,要求此div盒子只显示3条半,但一页有10条,div内的滑动条滑到一页 ...

  10. asp oracle 分页显示,利用ASP实现Oracle数据记录的分页显示

    [IT168 服务器学院]一.引言 通过浏览器访问数据量大的表时需要进行分页.ASP对数据库记录分页显示可以通过ADO对象集Recordset对象来实现.Recordset具有以下几个用于分页显示的属 ...

最新文章

  1. AI一分钟 | 微软将成立微软亚洲研究院上海分院;阿里AI鉴黄师能判别呻吟声
  2. 2018年,这些信息通信技术将大红大紫
  3. 青龙羊毛——更新日志(2022-04-07更新)
  4. python walk_Python os.walk()方法
  5. jQuery实现星星评分功能
  6. unc0ver 发布新版本支持 iOS 13.3 越狱
  7. 插图 引用 同一行两个插图_为什么插图是产品的重要组成部分
  8. 2019.5.8_此书真乃宝书也_从定位参数到仅限关键字参数
  9. 利用matlab程序分别设计一正弦型信号_ARM Mbed数字信号处理
  10. Django构建简介
  11. Android Studio安装、配置教程全 - 安卓开发环境的配置手册
  12. 文本溢出处理,出现省略号,单行文本溢出处理,多行文本溢出处理
  13. 计算机硬盘应该什么格式化,磁盘格式化是什么意思?快速格式化和一般格式化有什么区别...
  14. 2021我的前端开发年度总结
  15. jboot学习之路(一)
  16. 第六节 电子学习 二极管档测量法 细讲
  17. FineReport帆软报表实现动态生成递增列
  18. DTI脑影像处理流程-配准机器生成的特征图
  19. 计算机操作系统:处理机调度相关
  20. 物联网云平台都有哪些分类

热门文章

  1. 安装SHARP MX-3618NC PCL6打印机驱动程序
  2. 扫雷(简易版) 10*10
  3. 扫雷可以用计算机,接龙扫雷Windows经典游戏原来还有这些用处啊
  4. AndroidEditText常用属性
  5. c语言相机翻译器下载,拍照翻译器
  6. matlab正弦信号采样,matlab模拟信号的欠采样及原理理解
  7. 云算子矩阵计算机,《CASIOfx-5800P矩阵编程计算器测量程序集锦梁宝禄.pdf》-支持高清全文免费浏览-max文档...
  8. word自动图文集,制表位实现公式对齐,域代码,mathtype自动公式右编号
  9. 微信公众号 html样式,公众号模板制作精美,微信公众号素材管理的正文,可以写自己CSS 样式吗?...
  10. 民间借贷、网贷vs信用卡