zoukankan      html  css  js  c++  java
  • android ListView滚动条监听判断滚动到底部还是顶部

    代码:

    [java] view plaincopy
     
    1. lv.setOnScrollListener(new OnScrollListener() {   
    2. public void onScrollStateChanged(AbsListView view, int scrollState) {  
    3.     switch (scrollState) {  
    4.     // 当不滚动时  
    5.     case OnScrollListener.SCROLL_STATE_IDLE:  
    6.     // 判断滚动到底部  
    7.     if (lv.getLastVisiblePosition() == (lv.getCount() - 1)) {  
    8.                  }  
    9.     // 判断滚动到顶部  
    10.   
    11.     if(lv.getFirstVisiblePosition() == 0){  
    12.     }  
    13.   
    14.      break;  
    15.         }   
    16.    }   
    17.      
    18.         @Override    
    19.         public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {    
    20.   
    21.             if (firstVisibleItem + visibleItemCount == totalItemCount && !flag) {    
    22.                 flag = true;    
    23.             } else    
    24.                 flag = false;    
    25.         }    
    26.     };    
           唯一要讲的就是在 OnScroll中firstVisibleItem + visibleItemCount == totalItemCount

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

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

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

       以此判断动态加载数据!

  • 相关阅读:
    SpringBoot基本配置
    Profile配置
    vue2.X使用LeanCloud
    Vue学习一 创建项目及项目总览
    工具使用:使用frp,反向代理内网到公网
    Unity的学习笔记(摇杆制作)
    Unity的学习笔记(XLua的初学用法并在lua中使用unity周期函数)
    Unity的学习笔记(射线检测)
    Unity的学习笔记(鼠标移动控制视角移动)
    Unity的学习笔记(UGUI文本逐个字输出)
  • 原文地址:https://www.cnblogs.com/xgjblog/p/4228874.html
Copyright © 2011-2022 走看看