zoukankan      html  css  js  c++  java
  • 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;
        }
    }
  • 相关阅读:
    ios-点击图片放大,背景变半透明
    为代码分段标识
    方法的标签_With携带
    使用json要导入什么包
    Json中不支持任何形式的注释,那我们要怎么解决呢
    JFinal中文件上传后会默认放置到WebContent的upload包下,但是tomcat会自动重启,当我们再次打开upload文件夹查看我们刚刚上传的文件时,发现上传的文件已经没有了。
    JFinal上传文件时用getFile()方法报错
    JFinal文件上传时直接使用getPara()去接受表单的数据接收到的数据一直是null?
    Freemarker全部文档和具体实例
    Eclipse安装Freemarker插件
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5662556.html
Copyright © 2011-2022 走看看