推荐大家一个好用的实现分页加载和下拉刷新Android工具包

PageAndPullToRefresh工具包

分页加载和下拉刷新,几行代码完全搞定

具体实现方法如下:


实例化一个PageAndRefreshListView,

可以通过layout来加载

 <com.king.refresh.widget.PageAndRefreshListView
        android:id="@+id/balance_page_list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fadingEdge="none"
        android:fadingEdgeLength="0px"
        android:scrollbars="none"
        android:divider="@color/grey"
        android:dividerHeight="0.5dip"
        refresh:pageDemandingEnable="true"
        android:overScrollMode="never"
        refresh:refreshable="true"
        android:scrollingCache="false" />
mListView = (PageAndRefreshListView) view.findViewById(R.id.balance_page_list);
给ListView设置adapter ,这个adapter需要继承PageAndRefreshBaseAdapter

示例如下:

adapter = new BalanceInfoAdapter(mContext, new BalanceDataReuqest(mContext, map));
		mListView.setAdapter(adapter);
adapter 示例:

public class BalanceInfoAdapter extends PageAndRefreshBaseAdapter {

	private LayoutInflater mInflater;

	public BalanceInfoAdapter(Context context,
			PageAndRefreshRequestService requestService) {
		super(requestService);
		mInflater = LayoutInflater.from(context);
	}

	class ViewHolder {
		public TextView bl_time_tv;
		public TextView bl_comefrom_tv;
		public TextView bl_income_tv;
		public TextView bl_sumcount_tv;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolder holder = null;
		if (convertView == null) {
			holder = new ViewHolder();
			convertView = mInflater.inflate(R.layout.balance_list_item, null);
			holder.bl_time_tv = (TextView) convertView
					.findViewById(R.id.bl_time_tv);
			holder.bl_comefrom_tv = (TextView) convertView
					.findViewById(R.id.bl_comefrom_tv);
			holder.bl_income_tv = (TextView) convertView
					.findViewById(R.id.bl_income_tv);
			holder.bl_sumcount_tv = (TextView) convertView
					.findViewById(R.id.bl_sumcount_tv);
			convertView.setTag(holder);
		} else {
			holder = (ViewHolder) convertView.getTag();
		}
		BalanceInfo data = (BalanceInfo) getItem(position);
		if (data != null) {
			holder.bl_time_tv.setText(data.getCreateTime());
			holder.bl_comefrom_tv.setText(data.getPaymentTypeName());
			holder.bl_income_tv.setText(data.getCount());
			holder.bl_sumcount_tv.setText(data.getLeftCount());
		}
		return convertView;
	}
}

实例化 PageAndRefreshBaseAdapter需要传递一个实现了PageAndRefreshRequestService接口的对象,该对象实现数据的获取与分页刷新机制,具体代码如下:

public class BalanceDataReuqest implements PageAndRefreshRequestService {

	private PageAndRefreshRequestCallBack mCallBack;
	private int page;
	private Context mContext;
	private Map<String, String> map = new HashMap<String, String>();
	private Handler handler = new Handler() {

		@SuppressWarnings("unchecked")
		@Override
		public void handleMessage(Message msg) {
			switch (msg.what) {
			// 模拟请求结果,一次成功,一次失败,循环
			case 1:
				mCallBack.onRequestComplete((List<BalanceInfo>) msg.obj,
						msg.arg1);
				break;
			default:
				break;
			}
			super.handleMessage(msg);
		}
	};

	public BalanceDataReuqest(Context context, Map<String, String> map) {
		mContext = context;
		this.map = map;
	}

	@Override
	public void sendRequest(int page, PageAndRefreshRequestCallBack listener) {
		if (mCallBack == null) {
			mCallBack = listener;
		}
		this.page = page;
		map.put("pageNum", page + "");
		map.put("pageSize", "30");

		// 此处使用线程模拟数据请求(网络或数据库)过程
		getData();
	}
private void getData(){	//自定义获取网络数据
	//通过Handler方式将页总数以及数据传递到主线程
	
	msg.what = 1;
	msg.obj = mdatas;
	msg.arg1 = totalPage;
	handler.sendMessage(msg);}}

 
 

至此,就完成了这个开源包的使用,如题效果如图:



开源包下载路径:github地址https://github.com/tubeber/PageAndPullToRefresh

欢迎交流:lyhwtu@126.com





邀请码:a54ed48fee85400295d14c9e6def970b “奇奇SEO优化”钱柜软件是米图团队经过对搜素引擎算法多年跟踪研究,采用全新的智能云优化技术,开发出来的一款搜索引擎关键词优化工具:奇奇SEO优化软件。奇奇SEO优化软件能迅速在百度、谷歌、搜狗、搜搜、雅虎、有道、必应等搜索引擎中,依次进行目标网站的搜索,大幅度提高搜索引擎对网站的注重程度和关注度,提高网站在搜索引擎中的权重值。提高搜索引擎收录频率和收录量;提高网站访问量和关键字位置排名,迅速将优化的关键词显示在底层相关搜索,同样可以智能优化搜索引擎搜索下拉框,快速占领最火爆最抢眼的十个搜索下拉位置。我们坚信:必定成为网站必备工具! 奇奇SEO优化软件亮点 ●点击逼真。和真人点击一样,众多挂机者自动点击,分布式点击,挂机环境各不相同,点击逼真、真实,效果看得见! ●支持所有主流搜索引擎。挂机时会看到,全面、功能强大! ●支持点击地区设置。有针对性点击,和搜索引擎中的设置对应,针对性强,避免空点,提高效率! ●清空浏览痕迹、cookies、清除浏览缓存,点击有效 ●目标网页随机停留数秒后自动关闭 ●目标网页随机位置、随机二次点击、深入点击,将真实演绎到底! ●免费。挂机有积分即可免费使用,无资金担忧。 ●批量删除、批量更新、批量启用、批量停止 简单易操作 您可以用第一名点击器,来做这些事情 ●点击各类搜索引擎的竞价广告 ●点击关键词在搜索引擎结果中的自己的网站,提高关键词搜索排名 ●提高网站排名、提高关键词搜索指数、百度指数 ●刷百度下拉框、刷相关搜索 ●点击淘宝直通车竞价广告 ●点击阿里网销宝竞价广告任何你想象和在最新软件版本功能基础上,你可能用到第一名点击器。上述提及的搜索引擎,囊括了百度、谷歌、搜搜、搜狗、必应、有道、淘宝直通车、阿里网销宝等所有常见的搜素引擎,并且在以后使用中,视网友使用频率建议会不断增加,比如单百度点击,我们就已经包括了百度网页、百度图片、百度知道等搜索类型的点击,第一名点击器功能之强大,真正拿出时间好好用过的人,最有体会!当然,众多的功能,对绝大多数网友可能只使用了冰山一角,更多的潜在的用武之地,待你挖掘和琢磨! 奇奇SEO优化软件特点 1、简单易用 使用简单,操作方便,自动升级,针对个人网站永久免费。 2、高度安全 基于沙盒原理,有效拦截各类病毒木马下载程序,自动、收集过滤恶意网址。 3、真实有效 基于智能云优化技术,利用网络节点地域差异性,用户随机性,使访问效果真实有效 4、优化原理及手法 通过反馈网站权重数据包给搜索引擎,合理的分配网站的权重,提升网站的关注度和友好度,从而达到网站关键字排名迅速提升的效果。 5、完全兼容虚拟机运行
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值