2014-07-24 96 views
0

如果ListView已結束滾動,是否可以觸發?Android ListView結束滾動

我想在執行後執行用戶滾動ListView。這將是很多檢查,如果我檢查這在

AbsListView.OnScrollListener.onScroll() 

它並不需要每個像素的運動。

回答

0
onScrollStateChanged(AbsListView view, int scrollState){ 

if(scrollState == SCROLL_STATE_IDLE){ 
//stopped scrolling 
} 
} 
+0

我該如何檢查,如果ListView'.setSelectionFromTop()已結束?這不會設置ScrollState。 – mars3142

+0

我剛剛閱讀了Android提供的setSelectionFromTop方法,它不會發送任何看起來像的事件。它在最後請求佈局 –

+0

因此,我必須在** onScroll **中執行此操作。好的,但是使用** onScrollStateChanged **是一個很好的提示。 – mars3142

2

試試這個:

onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { 
    if((firstVisibleItem + visibleItemCount) == totalItemCount) { 
      //End Scroll 
    } 
} 

firstVisibleItem - 是要在屏幕上看到的第一個項目, visibleItemCount - 在屏幕上顯示的項數。

這應該工作。