首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

ListView OnScrollListener详解(滑屏分页展示数据)

2012-09-29 
ListView OnScrollListener详解(滑屏分页显示数据)??package com.actionimport java.util.ArrayListimpo

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

?如果还有什么不懂的,见意去看下源码。

                     
有什么不足可以说出来,别用新号搞破坏呀 4 楼 ariel791331313 2012-08-08   恩,不错哦 5 楼 kondoh 2012-08-30   呵呵,看参数名 paramAbsListView,就知道是反编译来的 6 楼 hilary3113 2012-09-02   kondoh 写道呵呵,看参数名 paramAbsListView,就知道是反编译来的
看来你很细心

热点排行