標籤:log sp amp on c new ef as bs
new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
// 手指觸屏拉動準備滾動,只觸發一次
Log.i("scroll", "SCROLL_STATE_TOUCH_SCROLL");
break;
case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
// 手指做了拋的動作(手指離開螢幕前,用力滑了一下),只觸發一次
Log.i("scroll", "SCROLL_STATE_FLING");
break;
case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
// 整個滾動事件結束,只觸發一次
Log.i("scroll", "SCROLL_STATE_IDLE");
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
int totalItemCount) {// 一直在滾動中,多次觸發
//滾動時一直回調,直到停止滾動時才停止回調。單擊時回調一次。
//firstVisibleItem:當前能看見的第一個清單項目ID(從0開始)
//visibleItemCount:當前能看見的清單項目個數(小半個也算)
//totalItemCount:清單項目共數
boolean isLastRow = false;
//判斷是否滾到最後一行
if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount > 0) {
isLastRow = true;
}
Log.i("scroll", "onScroll "+"firstVisibleItem:"+firstVisibleItem+
";visibleItemCount:"+visibleItemCount+";totalItemCount"+totalItemCount+
";isLastRow:"+isLastRow);
}
});
OnScrollListener回調分析