2014-07-24 62 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 - 在屏幕上显示的项数。

这应该工作。