`
perfy315
  • 浏览: 412314 次
社区版块
存档分类
最新评论

ListView OnScrollListener详解

阅读更多
@Override
public void onScrollStateChanged(AbsListView paramAbsListView, int paramInt) {
//当屏幕停止滚动时为0;当屏幕滚动且用户使用的触碰或手指还在屏幕上时为1;
//由于用户的操作,屏幕产生惯性滑动时为2
System.out.println("***lastItem:"+lastItem);
System.out.println("***listSize:"+listSize);
if(lastItem == listSize){
System.out.println("**************");
//数据全部显示出来时运行此处代码,如果要实现分页功能,在这里加载下一页的数据
}

}

@Override
public void onScroll(AbsListView paramAbsListView, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// firstVisibleItem表示在现时屏幕第一个ListItem(部分显示的ListItem也算)在整个ListView的位置(下标从0开始)
System.out.println("***firstParamInt:"+firstVisibleItem);
// visibleItemCount表示在现时屏幕可以见到的ListItem(部分显示的ListItem也算)总数
System.out.println("***visibleItemCount:"+visibleItemCount);
// totalItemCount表示ListView的ListItem总数
System.out.println("***totalItemCount:"+totalItemCount);
// listView.getLastVisiblePosition()表示在现时屏幕最后一个ListItem(最后ListItem要完全显示出来才算)在整个ListView的位置(下标从0开始)
System.out.println("****"+String.valueOf(lv.getLastVisiblePosition()));
lastItem = lv.getLastVisiblePosition();
}
});
分享到:
评论
3 楼 艹b青春 2012-09-07  
呃果然2了一回我,哦哦,明白了,onScroll方法里面获取到当前页面显示的最下面一个数,然后onScrollStateChanged里面判断是否滚动到底了,如果是就开始触发事件,加载新的数据,对吧?
这个onScrollStateChanged方法,是在滚动条位置发生变化就触发的事件,onScroll是滚动条开始滚动就触发的事件,理解没有错误吧?
没有学过android,自学很多基础知识不太清楚。。
2 楼 perfy315 2012-09-05  
艹b青春 写道
我想问下lastItem以及listSize的定义是什么。。

纯新手问题,还望楼主帮忙一下。

lastItem指的是listview中的最后一项,listsize指的是listview中项目数!仅此!
1 楼 艹b青春 2012-09-05  
我想问下lastItem以及listSize的定义是什么。。

纯新手问题,还望楼主帮忙一下。

相关推荐

Global site tag (gtag.js) - Google Analytics