当前位置: 代码迷 >> Android >> listview滑动最后终止,没有执行onScrollStateChanged方法,最后停在onScroll,为什么啊
  详细解决方案

listview滑动最后终止,没有执行onScrollStateChanged方法,最后停在onScroll,为什么啊

热度:91   发布时间:2016-05-01 17:55:03.0
listview滑动最后停止,没有执行onScrollStateChanged方法,最后停在onScroll,为什么啊?
场景是这样的:滑动列表快到最底部时,松开触摸,列表会继续滑到最底部,最后停止的时候,没有执行onScrollStateChanged方法,最后停在onScroll这个方法。
如果正常拖动到最底部,松开手指,最后是正常执行onScrollStateChanged方法。实在搞不明白是为什么了?


------解决方案--------------------
因为onScroll是在“滑动”执行过之后才触发,
onScrollStateChanged是“拖住滑动”
------解决方案--------------------
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
Log.i("-------------------> onScroll ", "onScroll");
}

@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
Log.i("-------------------> SCROLL_STATE_TOUCH_SCROLL ",
"SCROLL_STATE_TOUCH_SCROLL");
break;

case OnScrollListener.SCROLL_STATE_FLING:
Log.i("-------------------> SCROLL_STATE_FLING ",
"SCROLL_STATE_FLING");
break;

case OnScrollListener.SCROLL_STATE_IDLE:
Log.i("-------------------> SCROLL_STATE_IDLE ",
"SCROLL_STATE_IDLE");
break;

}

}



楼主可以用这个log一下,并不是停在onScroll上的。。。。
滑动有三个状态 Touch Fling IDLE
Fling 这个动作当然要视你的动作而定了



  相关解决方案