出在:http://blog.csdn.net/tu_bingbing/article/details/13275107   
     当ListView要显示的数据过多时,为了更快的响应用户,这个时候ListView进行分页显示再合适只是了。

     ListView分页显示数据的原理事实上非常easy,当用户滑到ListView最后一项时,通知异步线程进行载入下一页的数据,下一页数据载入完毕时,调用设置好的Adapter的notifyDataSetChange()方法,ListView显示下一页的数据。
     如今有两个问题要解决,第一个问题要知道用户是否滑到了ListView的最后一项;第二个问题是怎样提示用户正在载入下一页的数据,让用户耐心等待。
     解决第一个问题,我们仅仅需自己定义ListView,让它实现OnScrollListener类监听ListView的滑动状态,以此来推断是否滑动到了最后一项

[java] view
plain
copy

  1. @Override
  2. public void onScroll(AbsListView view, int firstVisibleItem,
  3. int visibleItemCount, int totalItemCount ) {
  4. if (getAdapter() == null){
  5. return ;
  6. }
  7. if (getAdapter().getCount() == 0){
  8. return ;
  9. }
  10. int lastItemIndex = firstVisibleItem + visibleItemCount;
  11. if (lastItemIndex >= totalItemCount){
  12. // 用户已经滑动到了ListView的最后一项
  13. }

     要解决第二个问题也是在onScroll()方法中来实现
[java] view
plain
copy

  1. @Override
  2. public void onScroll(AbsListView view, int firstVisibleItem,
  3. int visibleItemCount, int totalItemCount) {
  4. if (getAdapter() == null){
  5. return ;
  6. }
  7. if (getAdapter().getCount() == 0){
  8. return ;
  9. }
  10. int lastItemIndex = firstVisibleItem + visibleItemCount;
  11. if (lastItemIndex >= totalItemCount && ! isLoading){
  12. addFooterView( footerView );//用来提示用户正在载入下一页的数据
  13. isLoading = true ;
  14. listener.loadData();
  15. }

当监听到用户滑动到最后一项时,加入footerView,并通知进行数据载入。
     以下是一个简单的样例源代码






很多其它0


ListView分页显示的更多相关文章

  1. ListView 分页显示(转载+修改)上

    实习工作中,分配到了一个给已经上线的android成品增加需求的任务,其中一项是给每个信息显示增加分页显示的功能(ListView的显示),于是上网查资料,看到了: 原地址:http://www.cn ...

  2. Sqlite 数据库分页查询(ListView分页显示数据)

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

  3. ListView 分页显示(转载+修改)下

    通过实践发现,尚大大在判断”上一页“按钮和”下一页按钮“是否可用的地方,有问题: 原代码: public void checkButton(){ //索引值小于等于0,表示不能向前翻页了,以经到了第一 ...

  4. ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(一)

    为什么使用ListView+DataPager的方式实现分页显示? .net提供的诸多数据绑定控件,每一种都有它自己的优点和缺点.如果需要对数据进行操作,如果数据量不大的情况下,DataList和Gr ...

  5. Android --ListView分页

    参考博客:Android ListView分页加载(服务端+android端)Demo 监听OnScrollListener事件 class OnListScrollListener implemen ...

  6. Android中ListView分页加载数据

    public class MainActivity extends Activity { private ListView listView=null; //listview的数据填充器 privat ...

  7. android中listview分页载入数据

    前段时间做的新浪微博项目一直想实现listview分页载入数据,今天最终实现了,哈哈!感觉挺好的,今天又写了个demo给大家分享下. 首先说下listview的优化方案,这也是面试中常考的题目.优化方 ...

  8. Android ListView分页载入(服务端+android端)Demo

    Android ListView分页载入功能 在实际开发中经经常使用到,是每一个开发人员必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了測试. 服务端使用MyEcli ...

  9. ListView 分页 排序、编辑、插入和删除

    摘自网络地址:http://msdn.microsoft.com/zh-cn/magazine/cc337984.aspx ListView 基础 ListView 是模板驱动的控件,这意味着它默认情 ...

随机推荐

  1. c++ 对象指针参数和对象引用参数02

    对象指针作为函数参数和对象引用作为函数参数都比对象作为函数参数要用的更为普遍 传对象指针和传对象引用作为实参,那么实参在函数里发生了变话,那么相应的对象本身也会发生变化,二传递对象本身作为实参的话,实 ...

  2. jquery下php与ajax的数据交换方式

    参考链接:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2013/0122/11971.html 一.前台传递字符串变量,后台返回字符串变量( ...

  3. 推测的手机型号和cpu模型

    <span style="font-size:18px;">推断手机型号:</span> <span style="font-size:18 ...

  4. 算法学习 - 图的广度优先遍历(BFS) (C++)

    广度优先遍历 广度优先遍历是非经常见和普遍的一种图的遍历方法了,除了BFS还有DFS也就是深度优先遍历方法.我在我下一篇博客里面会写. 遍历过程 相信每一个看这篇博客的人,都能看懂邻接链表存储图. 不 ...

  5. 修ecshop品牌筛选以LOGO图片形式显示

    如何实现商品列表页属性筛选区品牌筛选以LOGO形式展示,最模板总结ecshop/'>ecshop教程入下: 1.修改 category.php 文件,将(大概215行) $sql = " ...

  6. DrectX11学习笔记Texture2D有关

    ///////////////////////////////////////////////////////////////////////////////////// 有时候....有时候.... ...

  7. Java 8 时间日期库的20个使用示例

    java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...

  8. 重新想象 Windows 8 Store Apps (12) - 控件之 GridView 特性: 拖动项, 项尺寸可变, 分组显示

    原文:重新想象 Windows 8 Store Apps (12) - 控件之 GridView 特性: 拖动项, 项尺寸可变, 分组显示 [源码下载] 重新想象 Windows 8 Store Ap ...

  9. T-SQL基础(1) - T-SQL查询和编程基础

    第一范式: 第一范式要求表中的行必须是唯一的,属性应该是原子的(atomic).这个范式对于关系的定义来说是冗余的,换句话说,如果一个表真可以表示一个关系,那么它一定符合第一范式. 行的唯一性是可以通 ...

  10. Matlab强迫症产生的图像

    最近流行的网络迷恋的照片做头像,闲来无事,取matlab获取一个建设者,它可以产生包括0-9以及99+OCD. 原理很easy,图叠加,这里为了降低文件,将数字图片保存在.mat二进制文件里. === ...