您的位置:首页 > 移动开发 > Android开发

android ListView滚动条监听判断滚动到底部还是顶部

2015-01-16 15:26 453 查看

代码:

[java] view plaincopy

lv.setOnScrollListener(new OnScrollListener() {

public void onScrollStateChanged(AbsListView view, int scrollState) {

switch (scrollState) {

// 当不滚动时

case OnScrollListener.SCROLL_STATE_IDLE:

// 判断滚动到底部

if (lv.getLastVisiblePosition() == (lv.getCount() - 1)) {

}

// 判断滚动到顶部

if(lv.getFirstVisiblePosition() == 0){

}

break;

}

}

@Override

public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

if (firstVisibleItem + visibleItemCount == totalItemCount && !flag) {

flag = true;

} else

flag = false;

}

};

唯一要讲的就是在 OnScroll中firstVisibleItem + visibleItemCount == totalItemCount

firstVisibleItem :表示在屏幕中第一条显示的数据在adapter中的位置,visibleItemCount 则是屏幕中最后一条数据在adapter中的数据,totalItemCount则是adapter中的总条数!

adapter(适配器)我们把其看做是一个list集合,可以在其中add很多的数据!而在屏幕中显示的数据,

只是这个集合中的一部分!firstVisibleItem +visibleItemCount = 这个集合总条数(list.size())

以此判断动态加载数据!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐