OnScrollListener回调分析
生活随笔
收集整理的這篇文章主要介紹了
OnScrollListener回调分析
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
new?OnScrollListener()?{????
????????boolean?isLastRow?=?false;????
????????
????????@Override????
????????public?void?onScroll(AbsListView?view,?int?firstVisibleItem,?int?visibleItemCount,?int?totalItemCount)?{????
????????????//滾動(dòng)時(shí)一直回調(diào),直到停止?jié)L動(dòng)時(shí)才停止回調(diào)。單擊時(shí)回調(diào)一次。????
????????????//firstVisibleItem:當(dāng)前能看見的第一個(gè)列表項(xiàng)ID(從0開始)????
????????????//visibleItemCount:當(dāng)前能看見的列表項(xiàng)個(gè)數(shù)(小半個(gè)也算)????
????????????//totalItemCount:列表項(xiàng)共數(shù)????
????????
????????????//判斷是否滾到最后一行????
????????????if?(firstVisibleItem?+?visibleItemCount?==?totalItemCount?&&?totalItemCount?>?0)?{????
????????????????isLastRow?=?true;????
????????????}????
????????}????
????????@Override????
????????public?void?onScrollStateChanged(AbsListView?view,?int?scrollState)?{????
????????????//正在滾動(dòng)時(shí)回調(diào),回調(diào)2-3次,手指沒拋則回調(diào)2次。scrollState?=?2的這次不回調(diào)????
????????????//回調(diào)順序如下????
????????????//第1次:scrollState?=?SCROLL_STATE_TOUCH_SCROLL(1)?正在滾動(dòng)????
????????????//第2次:scrollState?=?SCROLL_STATE_FLING(2)?手指做了拋的動(dòng)作(手指離開屏幕前,用力滑了一下)????
????????????//第3次:scrollState?=?SCROLL_STATE_IDLE(0)?停止?jié)L動(dòng)?????????????
????????boolean?isLastRow?=?false;????
????????
????????@Override????
????????public?void?onScroll(AbsListView?view,?int?firstVisibleItem,?int?visibleItemCount,?int?totalItemCount)?{????
????????????//滾動(dòng)時(shí)一直回調(diào),直到停止?jié)L動(dòng)時(shí)才停止回調(diào)。單擊時(shí)回調(diào)一次。????
????????????//firstVisibleItem:當(dāng)前能看見的第一個(gè)列表項(xiàng)ID(從0開始)????
????????????//visibleItemCount:當(dāng)前能看見的列表項(xiàng)個(gè)數(shù)(小半個(gè)也算)????
????????????//totalItemCount:列表項(xiàng)共數(shù)????
????????
????????????//判斷是否滾到最后一行????
????????????if?(firstVisibleItem?+?visibleItemCount?==?totalItemCount?&&?totalItemCount?>?0)?{????
????????????????isLastRow?=?true;????
????????????}????
????????}????
????????@Override????
????????public?void?onScrollStateChanged(AbsListView?view,?int?scrollState)?{????
????????????//正在滾動(dòng)時(shí)回調(diào),回調(diào)2-3次,手指沒拋則回調(diào)2次。scrollState?=?2的這次不回調(diào)????
????????????//回調(diào)順序如下????
????????????//第1次:scrollState?=?SCROLL_STATE_TOUCH_SCROLL(1)?正在滾動(dòng)????
????????????//第2次:scrollState?=?SCROLL_STATE_FLING(2)?手指做了拋的動(dòng)作(手指離開屏幕前,用力滑了一下)????
????????????//第3次:scrollState?=?SCROLL_STATE_IDLE(0)?停止?jié)L動(dòng)?????????????
????????????//當(dāng)屏幕停止?jié)L動(dòng)時(shí)為0;當(dāng)屏幕滾動(dòng)且用戶使用的觸碰或手指還在屏幕上時(shí)為1;??
????????????//由于用戶的操作,屏幕產(chǎn)生慣性滑動(dòng)時(shí)為2??
????????
????????????//當(dāng)滾到最后一行且停止?jié)L動(dòng)時(shí),執(zhí)行加載????
????????????if?(isLastRow?&&?scrollState?==?AbsListView.OnScrollListener.SCROLL_STATE_IDLE)?{????
????????????????//加載元素????
????????????????......????
????????
????????????????isLastRow?=?false;????
????????????}????
????????}????
????}?
轉(zhuǎn)載于:https://www.cnblogs.com/candycaicai/archive/2013/06/14/3135289.html
總結(jié)
以上是生活随笔為你收集整理的OnScrollListener回调分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 九度OJ 1005 Graduate A
- 下一篇: 内存管理之虚拟页式分配