zoukankan      html  css  js  c++  java
  • 刷新实现原理

    package com.zzw.testrefresh;
    
    import java.util.ArrayList;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.os.SystemClock;
    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 ArrayList<String> data;
        private ArrayAdapter<String> adapter;
    
        private int firstVisibleItem;
        private int visibleItemCount;
        private int totalItemCount;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            data = new ArrayList<String>();
            for (int i = 0; i < 20; i++) {
                data.add("原有数据--" + i);
            }
    
            ListView mListView = (ListView) findViewById(R.id.listView);
    
            adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);
    
            mListView.setAdapter(adapter);
    
            mListView.setOnScrollListener(this);
        }
    
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if (OnScrollListener.SCROLL_STATE_IDLE == scrollState) {
    
                if (firstVisibleItem == 0) {
                    addTop();
                }
    
                if (firstVisibleItem + visibleItemCount == totalItemCount) {
                    addBottom();
                }
    
            }
        }
    
        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            this.firstVisibleItem = firstVisibleItem;
            this.visibleItemCount = visibleItemCount;
            this.totalItemCount = totalItemCount;
        }
    
        private void addTop() {
            data.add(0, "头部添加数据--" + (totalItemCount + 1));
            adapter.notifyDataSetChanged();
        }
    
        private void addBottom() {
            data.add("尾部添加数据--" + (totalItemCount + 1));
            adapter.notifyDataSetChanged();
        }
    
    }
  • 相关阅读:
    Kubernetes滚动更新介绍及使用-minReadySeconds
    Office 365 – SharePoint 2013 Online 与Office相关的应用
    Office 365 – SharePoint 2013 Online 中添加域和域名
    Office 365
    Office 365 – SharePoint 2013 Online 之WebPart开发、部署教程
    Office 365
    Office 365
    信仰坚持!程序员也有春天!
    SharePoint 2013 日历重叠功能简介
    SharePoint 2013 使用 PowerShell 更新用户
  • 原文地址:https://www.cnblogs.com/zzw1994/p/5048995.html
Copyright © 2011-2022 走看看