• listview通过onscrollListener实现分页加载


    package com.bwie.listviewloadmore;
    
    import java.util.ArrayList;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.widget.AbsListView;
    import android.widget.AbsListView.OnScrollListener;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    
    public class MainActivity extends Activity implements OnScrollListener {
    
        private ListView lv;
        private ArrayList<String> list;
        private boolean isLoad = false;
        int count = 1;
        private ArrayAdapter<String> adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 找到该布局文件下的控件
            lv = (ListView) findViewById(R.id.lv);
            // 创建集合对象
            list = new ArrayList<String>();
            // 为lv设置数据
            setData("");
    
            // 为lv设置适配器
            adapter = new ArrayAdapter<String>(MainActivity.this,
                    android.R.layout.simple_expandable_list_item_1, list);
            lv.setAdapter(adapter);
    
            // 为lv设置滚动监听事件
            lv.setOnScrollListener(this);
    
        }
    
        private void setData(String param) {
    
            for (int i = 0; i < 30; i++) {
                list.add(param + "data" + i);
            }
    
        }
    
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            // TODO Auto-generated method stub
            // listview滑动到底部,并且listview处于静止的状态
            if (scrollState == SCROLL_STATE_IDLE && isLoad) {
                count++;
                // 重新请求网络数据
                setData("web" + count);
    
                // 刷新适配器
                adapter.notifyDataSetChanged();
    
            }
    
        }
    
        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            // TODO Auto-generated method stub
            // 判断是否需要加载另一页数据
            isLoad = (firstVisibleItem + visibleItemCount) == totalItemCount;
    
        }
    
    }
  • 相关阅读:
    selenium-Selense、脚本语法
    selenium常用命令
    百度自动化测试脚本制作
    day2
    day1
    Python核心编程3-正则表达式
    redis
    mysql与系统优化
    mysql之mha高可用及读写分离
    作业一
  • 原文地址:https://www.cnblogs.com/8023-itxinde/p/5401920.html
Copyright © 2020-2023  润新知