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

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

2013-06-20 09:56 477 查看
代码:

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())

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