ListView滚动到底部自动加载更多

我是这样做的
1.自己写一个loadingView,有2种状态 ,1种是加载时的显示,一种是加载失败(网络超时)时候的重发界面
2.将loadingView放到Listview的footview中
3.在BaseAdapter的getView中判断position是不是最后一个.例如当前有20条记录,position为19的时候触发加载下20条事件

4.所有的数据都放到一个list中,作为BaseAdapter的Dataset,更新界面用BaseAdapter的 notifyDataSetChanged() 函数。

listView.setOnScrollListener(new OnScrollListener(){
                        public void onScroll(AbsListView view, int firstVisibleItem,
                                        int visibleItemCount, int totalItemCount) {
                                lastItem = firstVisibleItem + visibleItemCount - 1 ;
                                // TODO Auto-generated method stub
                        }
                        public void onScrollStateChanged(AbsListView view,
                                        int scrollState) {
                                if (lastItem == adapter.count && scrollState == OnScrollListener.SCROLL_STATE_IDLE) { 
                                        adapter.count += 10; 
                                        adapter.notifyDataSetChanged(); 
                                        } 
                        }
            });

你可能感兴趣的:(ListView,网络,list,dataset)