有一个需求,在滑动ListView到底部时,加载新的List实现ListView的动态加载功能;
要实现动态加载就必须要得到ListView的滚动到底部事件,实际上ListView控件有一个滚动事件的回调,我们只需要调用list.setOnScrollListener(this);为该ListView设置滚动监听器为当前对象,然后在当前对象上实现OnScrollListener接口即可。
OnScrollListener接口有两个回调方法:
public void onScroll(AbsListView paramAbsListView, int firstVisibleItem,int visibleItemCount, int totalItemCount){ //firstVisibleItem表示在现时屏幕第一个ListItem(部分显示的ListItem也算)在整个ListView的位置(下标从0开始)</span> //visibleItemCount表示在现时屏幕可以见到的ListItem(部分显示的ListItem也算)总数</span></span></span></span> // totalItemCount表示ListView的ListItem总数</span></span></span></span></span></span> // listView.getLastVisiblePosition()表示在现时屏幕最后一个ListItem(最后ListItem要完全显示出来才算)在整个 } public void onScrollStateChanged(AbsListView paramAbsListView, int paramInt) { //当屏幕停止滚动时为0;当屏幕滚动且用户使用的触碰或手指还在屏幕上时为1; //由于用户的操作,屏幕产生惯性滑动时为2 }