微信小程序联盟网站,安徽海川建设公司网站,今天刚刚发生的新闻最新新闻,黑龙江省营商环境建设监督局网站当ListView要显示的数据过多时#xff0c;为了更快的响应用户#xff0c;这个时候ListView进行分页显示再合适不过了。 ListView分页显示数据的原理其实很简单#xff0c;当用户滑到ListView最后一项时#xff0c;通知异步线程进行加载下一页的数据#xff0c;下一页数据加… 当ListView要显示的数据过多时为了更快的响应用户这个时候ListView进行分页显示再合适不过了。 ListView分页显示数据的原理其实很简单当用户滑到ListView最后一项时通知异步线程进行加载下一页的数据下一页数据加载完成时调用设置好的Adapter的notifyDataSetChange()方法ListView显示下一页的数据。 现在有两个问题要解决第一个问题要知道用户是否滑到了ListView的最后一项第二个问题是如何提示用户正在加载下一页的数据让用户耐心等待。 解决第一个问题我们只需自定义ListView让它实现OnScrollListener类监听ListView的滑动状态以此来判断是否滑动到了最后一项 [java] view plain copy 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()方法中来实现 [java] view plain copy 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并通知进行数据加载。 下面是一个简单的例子 源码