【Android开发笔记】pulltorefresh实现下拉刷新和上拉加载更多

本文介绍了如何在Android开发中使用pulltorefresh库实现列表的下拉刷新和上拉加载更多功能。通过集成OnRefreshListener2监听器并实现onPullDownToRefresh和onPullUpToRefresh方法,可以轻松达成这一目标。关键代码已给出,适用于PullRefreshListView和PullRefreshGridView。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

前段时间用到了pulltorefresh做列表控件的刷新,项目里需要使用到下拉刷新和上拉加载更多。

实际上很简单,只要使用监听类OnRefreshListener2,实现2个回调方法onPullDownToRefresh()以及 onPullUpToRefresh() 就可以了

关键代码:

这是PullRefreshListView的上拉下拉,PullRefreshGridView也是一样的。

mPullRefreshListView
				.setOnRefreshListener(new OnRefreshListener2<ListView>() {


					@Override
					public void onPullDownToRefresh(
							PullToRefreshBase<ListView> refreshView) {
						onRefresh();//下拉刷新的操作
					}


					@Override
					public void onPullUpToRefresh(
							PullToRefreshBase<ListView> refreshView) {
						onLoadMore();//上拉加载更多的操作
					}


				});

这里贴出pulltorefresh完整配置的代码:


private ListView mLvContent; // XListView
	private PullToRefreshListView mPullRefreshListView;
	private ILoadingLayout startLabels;
	private ILoadingLayout endLabels;

	...

		mPullRefreshListView = (PullToRefreshListView) focusView
				.findViewById(R.id.pull_refresh_list);

		mPullRefreshListView.setMode(Mode.BOTH);

		startLabels = mPullRefreshListView.getLoadingLayoutProxy(true, false);
		startLabels.setPullLabel("下拉刷新...");// 刚下拉时,显示的提示
		startLabels.setRefreshingLabel("加载中...");// 刷新时
		startLabels.setReleaseLabel("放开以刷新...");// 下来达到一定距离时,显示的提示

		endLabels = mPullRefreshListView.getLoadingLayoutProxy(false, true);
		endLabels.setPullLabel("上拉刷新...");// 刚上拉时,显示的提示
		endLabels.setRefreshingLabel("正在加载更多...");// 刷新时
		endLabels.setReleaseLabel("放开以刷新...");// 下来达到一定距离时,显示的提示
		endLabels.setLoadingDrawable(null);

		mLvContent = mPullRefreshListView.getRefreshableView();
		mLvContent.setOnScrollListener(new PauseOnScrollListener(ImageLoader
				.getInstance(), true, true));//滑动时不加载图片,Universal-Image-Loader框架的类
		// Set a listener to be invoked when the list should be refreshed.
		mPullRefreshListView
				.setOnRefreshListener(new OnRefreshListener2<ListView>() {

					@Override
					public void onPullDownToRefresh(
							PullToRefreshBase<ListView> refreshView) {
						onRefresh();
					}

					@Override
					public void onPullUpToRefresh(
							PullToRefreshBase<ListView> refreshView) {
						onLoadMore();
					}

				});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leafseelight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值