文档章节

listview上拉加载

小情绪在洒脱
 小情绪在洒脱
发布于 2016/07/28 15:35
字数 191
阅读 5
收藏 0
public class MainActivity extends Activity {

	private XListView mXlv;
	// 适配器
	private ArrayAdapter<String> mAdapter;
	// 数据
	private List<String> mList = new ArrayList<String>();

	/**
	 * 造数据
	 */
	private void generateData() {
		int size = mList.size();
		// 一页显示10条
		for (int i = 0; i < 10; i++) {
			mList.add(0,"item" + (size + i));
		}
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mXlv = (XListView) findViewById(R.id.xlv);

		//支持下拉刷新
		mXlv.setPullRefreshEnable(true);
		//支持上拉加载
		mXlv.setPullLoadEnable(true);
		// 造数据
		generateData();
		//创建adapter
		mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mList);
		mXlv.setAdapter(mAdapter);
		
		mXlv.setXListViewListener(new XListView.IXListViewListener() {
			
			@Override
			public void onRefresh() {
				mList.clear();//清空数据
				generateData();
				//刷新
				mAdapter.notifyDataSetChanged();
				//设置ui状态
				stopLoadOrRefresh();
			}
			
			@Override
			public void onLoadMore() {
				generateData();//加载下一页数据
				//刷新
				mAdapter.notifyDataSetChanged();
				//设置ui状态
				stopLoadOrRefresh();
			}
		});
	}
	
	
	private void stopLoadOrRefresh(){
		mXlv.stopLoadMore();
		mXlv.stopRefresh();
	}
}
2.布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <me.maxwin.view.XListView
        android:id="@+id/xlv"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

</RelativeLayout>

 

© 著作权归作者所有

共有 人打赏支持
小情绪在洒脱
粉丝 3
博文 18
码字总数 19251
作品 0
海淀
程序员
基于V4包SwipeRefreshLayout添加上拉加载功能。

上拉加载下拉刷新是在Android开发中使用最广泛的控件,官方在V4包中已经对下拉刷新有了提供一个控件, 有兴趣的童鞋可以去看看,很好用的一个控件,但是在国内上拉加载却同样常用 这是代码:...

xiaolei123
2016/07/04
121
0
Jaynm/PullToRefreshListView

PullToRefreshScrollViewDemo Android使用PullToRefresh完成ListView下拉刷新和左滑删除 一、本文主要内容: 使用PullToRefresh完成ListView下拉、上拉刷新; 扩展PullToRefresh完美的实现L...

Jaynm
2016/11/03
0
0
GoRefresh!让下拉刷新轻松炫酷

GoRefresh是本人写的一个下拉刷新框架。暂支持listview recyclerview scrollerview webview 。同时支持listview和recyclerview上拉加载。 以下是demo的几个gif(有的图上传不上来) 为什么写...

chiyidun
2017/12/12
0
0
OneXListview

原始组件说明 整合和扩展了如下项目 XListview 上拉加载,下拉刷新,listview PinterestLikeAdapterView 类似于pinterest瀑布流实现 https://github.com/emilsjolander/StickyListHeaders 列表...

打杂程序猿
2013/05/04
7.6K
0
Android进阶——框架打造之RecyclerView框架

前言 RecyclerView已经完全替代了ListView的开发,其强大之处在于性能、内存、使用、灵活、丰富的API、动画、事件处理上都可以完美的体现出来,对于开发者来说RecyclerView是必须精通的一关,...

qq_30379689
01/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
31分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
0
0
Linux | Redis

写在前面的话 常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。 安装 在官网的下载页 Redis Download 直接写了在Linux的安...

冯文议
昨天
1
0
NoSQL-memcached

NoSQL介绍 NoSQL叫非关系型数据库。而关系型数据库代表有MySQL。对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很...

ln97
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部