OnScrollListener是AbsListView 中的监听事件,它封装了很多与L istView 相关的信息。
以下两个为可以重写的方法
public void onScrollStateCbanged(AbsListView view, int scrollState)
public void onScroll(AbsListView view,inl fírstVisibleJtem,int visibleltemCount,int totalJtemCount)
onScrollStateChanged(),这个方也根据它的参数scrollState 来决定其回调的次数, scrollState 有以下三种模式:
OnScrollListener.SCROLL_STATE_lD LE: 滚动停止时。
OnScrollListencr.sCROLL_STA TE_ TOUCH_SCROLL: 正在滑动。
OnScrollListener.SCROLL_ST ATE_FLING: 手指抛动时,即手指用力滑动,在离开后ListVi ew 由于惯性继续滑动的状态。
onScroll。这个回调方怯,色在ListView滚动时会一直回调,
firstVisibleItem: 当前能看见的第一个Item 的lD(从0 开始) 。
visible ltemCount: 当前能看见的item 总敬。
totalItcmCount: 整个ListView 的item 总数。
可通过以下代码判断滑动方向:
if(tìrstVisibleltem > lastVisiblelternPosition) {
//上滑
} else if (firstVisibleltern < lastVisiblelternPosition) {
//下滑
lastVisiblcltemPosition = 1irstVisibleltem;