android--------自定义控件ListView实现下拉刷新和上拉加载
开发项目过程中基本都会用到listView的下拉刷新和上滑加载更多,为了方便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能。
Android下拉刷新可以分为两种情况:
1.获取更多的数据,按服务器数据库时间顺序存储入情况,此刻我们是获取是显示在我们应用中的数据更早前的数据,这也是最常见的情况,比如(微博获取更多信息,就是获取更多更早前的信息,然后动态的添加到已有的数据的下方);
2.获取更多的最新的数据,其实还是一种获取更多的操作方式。
1 public class MainActivity extends Activity implements IXListViewListener { 2 3 private XListView listView; 4 private int in = 6; 5 private Adapter adapter; 6 private Handler mHandler; 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) { 10 // TODO Auto-generated method stub 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.activity_main); 13 initView(); 14 15 } 16 17 private void initView() { 18 // TODO Auto-generated method stub 19 listView = (XListView) findViewById(R.id.list); 20 listView.setPullLoadEnable(true); 21 adapter = new Adapter(MainActivity.this); 22 listView.setAdapter(adapter); 23 listView.setXListViewListener(this); 24 mHandler = new Handler(); 25 26 } 27 28 private void onLoad() { 29 listView.stopRefresh(); 30 listView.stopLoadMore(); 31 listView.setRefreshTime("刚刚"); 32 } 33 34 @Override 35 public void onRefresh() { 36 mHandler.postDelayed(new Runnable() { 37 @Override 38 public void run() { 39 onLoad(); 40 } 41 }, 2000); 42 } 43 44 @Override 45 public void onLoadMore() { 46 mHandler.postDelayed(new Runnable() { 47 @Override 48 public void run() { 49 in += 4; 50 onLoad(); 51 } 52 }, 2000); 53 } 54 55 private static String[] string = new String[] { "民政局于,请带好相关证件文书 ", 56 "财政部发布公告,由于资金调整信息未完善,下周在发放工资,请各位见谅", 57 "信息部门于2016-11-11日在某某地方开会,特此通知,请带好相关证件", 58 "党政办发放通知,有关贫困地区扶贫政策,希望每个部门做出相应的方案,于2016-11-11开会讨论" }; 59 60 public class Adapter extends BaseAdapter { 61 62 private Context context; 63 private LayoutInflater inflater; 64 65 public Adapter(Context context) { 66 // TODO Auto-generated constructor stub 67 this.context = context; 68 inflater = LayoutInflater.from(context); 69 } 70 71 @Override 72 public int getCount() { 73 // TODO Auto-generated method stub 74 return in; 75 } 76 77 @Override 78 public Object getItem(int position) { 79 // TODO Auto-generated method stub 80 return position; 81 } 82 83 @Override 84 public long getItemId(int position) { 85 // TODO Auto-generated method stub 86 return position; 87 } 88 89 @Override 90 public View getView(int position, View convertView, ViewGroup parent) { 91 // TODO Auto-generated method stub 92 ViewHolder holder = null; 93 final int index = position; 94 if (convertView == null) { 95 convertView = inflater.inflate(R.layout.item_news_mass, null); 96 holder = new ViewHolder(convertView); 97 convertView.setTag(holder); 98 } else { 99 holder = (ViewHolder) convertView.getTag(); 100 } 101 holder.mName.setText(string[(position % 4)]); 102 103 return convertView; 104 } 105 106 class ViewHolder { 107 private ImageView mImageView; 108 private TextView mName; 109 110 public ViewHolder(View view) { 111 mName = (TextView) view.findViewById(R.id.item_news_msg); 112 113 } 114 } 115 116 } 117 } 118
由于代码太多,完整代码未给出,源码直接下载即可
源码下载: https://github.com/DickyQie/android-list-control
android--------自定义控件ListView实现下拉刷新和上拉加载相关推荐
- Android下拉刷新和上拉加载更多
Android下拉刷新和上拉加载更多 下拉刷新 通过android系统提供的组件:SwipeRefreshLayout 一.基本使用 1 xml中 添加 SwipeRefreshLayout 组件 该 ...
- android pulldown view,Android控件PullRefreshViewGroup实现下拉刷新和上拉加载
本文实例为大家分享了Android实现下拉刷新和上拉加载更多的具体代码,供大家参考,具体内容如下 先分享下源码:Android实现下拉刷新和上拉加载更多 实现思路:由PullRefreshViewGr ...
- android 官方上拉,手把手教你实现RecyclerView的下拉刷新和上拉加载更多
纵观多数App,下拉刷新和上拉加载更多是很常见的功能,但是谷歌官方只有一个SwipeRefreshLayout用来下拉刷新,上拉加载更多还要自己做. 基于RecyclerView简单封装了这两个操作, ...
- 使用SwipeRefreshLayout和RecyclerView实现仿“简书”下拉刷新和上拉加载更多
原文地址: http://blog.csdn.net/leoleohan/article/details/50989549/ 一.概述 我们公司目前开发的所有Android APP都是遵循iOS风格设 ...
- php mescroll,mescroll下拉刷新和上拉加载js框架
插件描述:mescroll精致的下拉刷新和上拉加载js框架.原生js, 支持vue, 不依赖jquery, zepto, 比iScroll,dropload精简强大; 一套代码多端运行: 完美运行于a ...
- Flutter如何实现下拉刷新和上拉加载更多
效果 下拉刷新 如果实现下拉刷新,必须借助RefreshIndicator,在listview外面包裹一层RefreshIndicator,然后在RefreshIndicator里面实现onRefre ...
- 微信小程序下拉刷新和上拉加载
效果图 微信小程序实现下拉刷新和上拉加载有2中方法 1 用系统自带的 个人感觉特别简单 2 使用scroll-view 实现, scroll-view 里面有2个属性是滑动到顶部以及到底部如下 其实 ...
- 【好程序员笔记分享】——下拉刷新和上拉加载更多
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和 ...
- vant实现下拉刷新和上拉加载_微信小程序 - 实现下拉刷新、上拉加载
在小程序开发中使用下拉刷新和上拉加载非常多,比如常用的展示型首页,而实现这个功能有两种形式,第一种是使用 scroll-view 组件,第二种是不使用 scroll-view 组件而让整个页面刷新,那 ...
最新文章
- [Asp.net mvc]OutputCacheAttribute
- python学习费用-学习老男孩python多少钱?收费贵不贵?
- sql server检查临时表是否存在
- Java 高频面试题:聊一聊 JUC 下的 LinkedBlockingQueue
- 面对重重问题 光伏扶贫路在何方?
- 每天一道LeetCode-----计算二叉树所有根节点到叶子节点的和
- Linux Repositories 2
- React子组件怎么改变父组件的state
- Linux curl命令简介
- Linux用户态进程的内存管理浅析
- 计算机组成加速比例题,计算机体系结构大题预测
- MULTISIM仿真
- html打开网页一段时间字幕滚动,网页代码:求一个隔段时间可停顿的滚动字幕代码...
- CREO:CREO软件之零件【模型】之操作、基准、形状、扫描、工程、编辑、曲面的简介及其使用方法(图文教程)之详细攻略
- 堆排序(Heapsort)-全网最详细
- 软件包没有可安装候选
- Python求二次方程根
- October CMS - 快速入门 2 基本概念
- 医保卡不用填写也可以报销的医院(A类定点医疗机构)
- 【WiFi】Wi-Fi 5(802.11ac) 与 Wifi 6 (802.11ax)RF的关键变化