[置顶] ListView的onScrollListener

package com.action;


import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.AbsListView.OnScrollListener;


public class ListViewActivity extends Activity {
private ListView lv;
private List<String> list;
private int lastItem;
private int listSize;
private ListAdapter adapter;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        lv = (ListView) findViewById(R.id.lv);
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getData());
        lv.setAdapter(adapter);
        lv.setOnScrollListener(new OnScrollListener() {

@Override
public void onScrollStateChanged(AbsListView paramAbsListView, int paramInt) {
//当屏幕停止滚动时为0;当屏幕滚动且用户使用的触碰或手指还在屏幕上时为1;
//由于用户的操作,屏幕产生惯性滑动时为2
System.out.println("***lastItem:"+lastItem);
System.out.println("***listSize:"+listSize);
if(lastItem == listSize){
System.out.println("**************");
//数据全部显示出来时运行此处代码,如果要实现分页功能,在这里加载下一页的数据
}

}

@Override
public void onScroll(AbsListView paramAbsListView, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// // firstVisibleItem表示在现时屏幕第一个ListItem(部分显示的ListItem也算)
// // 在整个ListView的位置(下标从0开始) 
// System.out.println("***firstParamInt:"+firstVisibleItem);
// // visibleItemCount表示在现时屏幕可以见到的ListItem(部分显示的ListItem也算)总数
// System.out.println("***visibleItemCount:"+visibleItemCount);
// // totalItemCount表示ListView的ListItem总数
// System.out.println("***totalItemCount:"+totalItemCount);
// listView.getLastVisiblePosition()表示在现时屏幕最后一个ListItem(最后ListItem要完全
// 显示出来才算)在整个ListView的位置(下标从0开始)
// System.out.println("****"+String.valueOf(lv.getLastVisiblePosition()));
lastItem = lv.getLastVisiblePosition();
}
});
    }
    private List<String> getData(){
    int i;
    list = new ArrayList<String>();
    for(i=1; i<10; i++){
    list.add("ListView"+i);
    }
    listSize = list.size()-1;
    return list;
    }
}

你可能感兴趣的:([置顶] ListView的onScrollListener)