首页 > 代码库 > 赵雅智_ListView_OnScrollListener

赵雅智_ListView_OnScrollListener

package com.example.android_provider3;

import android.app.Activity;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;

public class OnScrollListenerDemo extends Activity implements OnScrollListener{

	/**
	 * firstVisibleItem 第一个显示的条目的位置(下标从0开始) visibleItemContent
	 * 可见的条目数(包含没有显示全的) totalVisibleItem 总条数(下标从0开始)
	 */
	@Override
	public void onScroll(AbsListView view, int firstVisibleItem,
			int visibleItemContent, int totalVisibleItem) {
		 
	}

	// 正在滚动时回调,回调2-3次,手指没抛则回调2次。scrollState = 2的这次不回调
	// 回调顺序如下
	// 第1次:scrollState = SCROLL_STATE_TOUCH_SCROLL(1) 正在滚动当屏幕滚动且用户使用的触碰或手指还在屏幕上
	// 第2次:scrollState = SCROLL_STATE_FLING(2) 手指做了抛的动作(手指离开屏幕前,用力滑了一下)
	// 第3次:scrollState = SCROLL_STATE_IDLE(0) 停止滚动
	@Override
	public void onScrollStateChanged(AbsListView view, int scrollState) {
	 
	}

}


实现OnScrollListener接口会实现两个方法:

  • public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemContent, int totalVisibleItem) {}
    • firstVisibleItem 第一个显示的条目的位置(下标从0开始)
    • visibleItemContent
    • 可见的条目数(包含没有显示全的) totalVisibleItem 总条数(下标从0开始)
  • public void onScrollStateChanged(AbsListView view, int scrollState) {}
    • scrillState有三种状态
      1. scrollState = SCROLL_STATE_IDLE(0) 停止滚动 
      2. scrollState = SCROLL_STATE_TOUCH_SCROLL(1)  正在滚动当屏幕滚动且用户使用的触碰或手指还在屏幕上
      3. scrollState = SCROLL_STATE_FLING(2) 手指做了抛的动作(手指离开屏幕前,用力滑了一下)
    • // 正在滚动时回调,回调2-3次,手指没抛则回调2次。scrollState = 2的这次不回调
      • 回调顺序:1 -2-0

实例应用:

http://blog.csdn.net/zhaoyazhi2129/article/details/30064965