刷新实现原理
2015-12-15 17:59
344 查看
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(); } }
相关文章推荐
- PHP登入网站抓取并且抓取数据
- Oracle客户端使用sqlldr导数据中文乱码问题解决方法
- 得到以A开头+四位随机数+000001递增
- zzulioj 1842: LT的求助again and again (简单模拟)
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
- junit入门
- android popupwindow相关备忘录
- android NDK开发编译C++文件出现Type 'jint' could not be resolved和Unresolved inclusion: <jni.h>的解决办法
- CURL库在C++程序中的运用浅析
- Sql Server Extended Property
- position属性---strpos方法
- Tic-Tac-Toe游戏
- RESTful API 设计指南
- 分享一些免费接口
- 蓝桥杯基础练习 杨辉三角
- spring开发文档
- ccf认证-201503-4
- UVA 10935 卡片游戏
- 电话拨号器