zoukankan      html  css  js  c++  java
  • ListView分页显示

    出在:http://blog.csdn.net/tu_bingbing/article/details/13275107   
         当ListView要显示的数据过多时,为了更快的响应用户,这个时候ListView进行分页显示再合适只是了。
         ListView分页显示数据的原理事实上非常easy,当用户滑到ListView最后一项时,通知异步线程进行载入下一页的数据,下一页数据载入完毕时,调用设置好的Adapter的notifyDataSetChange()方法,ListView显示下一页的数据。
         如今有两个问题要解决,第一个问题要知道用户是否滑到了ListView的最后一项;第二个问题是怎样提示用户正在载入下一页的数据,让用户耐心等待。
         解决第一个问题,我们仅仅需自己定义ListView,让它实现OnScrollListener类监听ListView的滑动状态,以此来推断是否滑动到了最后一项
         
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    1. @Override  
    2. public void onScroll(AbsListView view, int firstVisibleItem,  
    3.              int visibleItemCount, int totalItemCount ) {  
    4.   
    5.       if (getAdapter() == null){  
    6.              return ;  
    7.      }  
    8.        
    9.       if (getAdapter().getCount() == 0){  
    10.              return ;  
    11.      }  
    12.        
    13.       int lastItemIndex = firstVisibleItem + visibleItemCount;  
    14.       if (lastItemIndex >= totalItemCount){  
    15.              // 用户已经滑动到了ListView的最后一项  
    16.      }  
    17.        

         要解决第二个问题也是在onScroll()方法中来实现
    [java] view plaincopy在CODE上查看代码片派生到我的代码片
    1. @Override  
    2. public void onScroll(AbsListView view, int firstVisibleItem,  
    3.              int visibleItemCount, int totalItemCount) {  
    4.   
    5.       if (getAdapter() == null){  
    6.              return ;  
    7.      }  
    8.        
    9.       if (getAdapter().getCount() == 0){  
    10.              return ;  
    11.      }  
    12.        
    13.       int lastItemIndex = firstVisibleItem + visibleItemCount;  
    14.       if (lastItemIndex >= totalItemCount && ! isLoading){  
    15.             addFooterView( footerView );//用来提示用户正在载入下一页的数据  
    16.              isLoading = true ;  
    17.              listener.loadData();  
    18.      }  
    19.        

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






    很多其它0

  • 相关阅读:
    form 表单验证常用正则记录
    定位某一项值在多维数据中的位置
    jquery weui picker多次动态赋值
    页面旋转立方体图片
    微信开发者工具中的正则表达式解析
    Jquery WEUI 滚动加载(infinite)不触发
    背景线条实现
    进入博客
    tomcat 修改内存配置
    win10配置jdk环境变量
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4022796.html
Copyright © 2011-2022 走看看