PullToRefresh之GridView(上下拉刷新)

今天又用到了上下拉刷新:

直接上代码:

(1)先去下载我们的类库:

下载类库地址

(2)项目导包(导包方式):

1)先把项目导入Eclipse

2)右击自己的项目,(properties)属性->Android 右下角 Library 点击Add  添加类库

(3)XML中使用下拉刷新View

ptr随便命名吧,只是一个命名空间而已

<com.handmark.pulltorefresh.library.PullToRefreshGridView
        xmlns:ptr="http://schemas.android.com/apk/res-auto"
        android:id="@+id/mPullToRefreshGridView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="5dp"
        android:background="@color/white"
        ptr:ptrDrawable="@drawable/small_add"
        ptr:ptrMode="both" />

定义为上下都能刷新:

ptr:ptrMode="both"

定义下拉的时候,图片资源

ptr:ptrDrawable="@drawable/small_add"

(4)代码中配置PullToRefreshGridView

// 配置上下刷新属性
mPullToRefreshGridView = (PullToRefreshGridView) getActivity().findViewById(R.id.mPullToRefreshGridView);
mPullToRefreshGridView.setOnRefreshListener(onRefreshListener2);
/** 上下都刷新 */
// mPullToRefreshGridView.setMode(Mode.BOTH);
mPullToRefreshGridView.getLoadingLayoutProxy(false, true).setPullLabel("上拉中");
mPullToRefreshGridView.getLoadingLayoutProxy(false, true).setRefreshingLabel("刷新中");
mPullToRefreshGridView.getLoadingLayoutProxy(false, true).setReleaseLabel("释放刷新");
第一个参数是上拉(true表示上拉的文字效果),第二个参数表示下拉(true表示下拉的文字效果)
mPullToRefreshGridView.getLoadingLayoutProxy(false, true);

(5)代码中配置GridView

// 获得可刷新的gridView
gridView = mPullToRefreshGridView.getRefreshableView();
// 配置gridView的属性
gridView.setGravity(Gravity.CENTER);
gridView.setHorizontalSpacing(60);
//3列
gridView.setNumColumns(3);
//垂直间距
gridView.setVerticalSpacing(20);
gridView.setScrollBarSize(1);
(6)适配器之类的  绑定  此处省略

(7)上下刷新的监听事件(一般是开启线程):

OnRefreshListener2<GridView> onRefreshListener2 = new OnRefreshListener2<GridView>() {
		/** 下拉刷新 */
		@Override
		public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) {
			currentHeadPage = 1;
			new MyThread(NETWORK_REQUEST, 1, 1).start();


		}

		/** 上 */
		@Override
		public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) {
			// TODO Auto-generated method stub
			new MyThread(NETWORK_REQUEST, 1, 1).start();
		}
	};


(8)记得在handler之类的地方数据处理之后,要记得完成此次的刷新事件

mPullToRefreshGridView.onRefreshComplete();



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值