android ListView滾動條監聽判斷滾動到底部還是頂部


代碼:

 

[java]  view plain copy
 
  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())

   以此判斷動態加載數據!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM