通过屏幕触控事件实现加载更多

来源:互联网 发布:极速淘宝秒杀器怎么用 编辑:程序博客网 时间:2024/05/22 18:55
lv = (ListView) findViewById(R.id.lv);

        list = new ArrayList<>();

//初始化数据

        initData();
        
        adapter = new MyAdapter(this,list);
        lv.setAdapter(adapter);
        //滑动监听事件
        lv.setOnScrollListener(new OnScrollListener() {
            //view   listview的item
            //scrollState  滑动的状态
            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                
                if(scrollState ==OnScrollListener.SCROLL_STATE_IDLE){
                    //滑动停止时,并且是最后一个item时我让其加载更多
                    
                    if(view.getLastVisiblePosition()==list.size()-1){
                        
                        index+=10;             
                        //加载更多;
                        initData();
                        
                        adapter.notifyDataSetChanged();
                    }

                    
                    
                }
                
            }
            
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) {
                // TODO Auto-generated method stub
                
            }
        });
        
        

    }

private void initData() {
    
        for (int i = index; i <index+10; i++) {
            list.add("我是item");
        }

}

0 0