使用PullToRefresh的好处就是支持多种控件的下拉刷新和上拉加载,而且可以设置一种方式只让他下拉刷新
首先,要先去github上下载PullToRefresh的包,导入自己的工程中
在布局中引用需要的控件,下面是布局中的引用
<com.handmark.pulltorefresh.library.PullToRefreshScrollView android:id="@+id/scroll" android:layout_width="match_parent" android:layout_height="match_parent" >
然后,再activity中找到这个控件
PullToRefreshScrollView scroll = (PullToRefreshScrollView)findViewById(R.id.scroll);
//下面的代码是对控件的一些设置,改变下拉时出现的字
scroll.setMode(Mode.Both); //这个是设置支持下拉刷新和上拉加载,如果不设置,只支持下拉刷新
scroll.getLoadingLayoutProxy(true,false).setPullLabel("下拉可以刷新"); scroll.getLoadingLayoutProxy(true,false).setReleaseLabel("松开可以刷新"); scroll.getLoadingLayoutProxy(true,false).setRefreshingLabel("正在刷新...");//再上面的代码中,true和false的意思是第一个true表示上拉刷新,第二个对应的就是上拉加载的,上面代码是对下拉刷新//的修改,如果想修改上拉加载的字,就是下面这种scroll.getLoadingLayoutProxy(false,true).setPullLabel("下拉可以刷新");然后就是监听事件的,实现监听的时候回发现,他有两个一样的监听方法,只是里面实现的方法不一样,如果是只让控件下拉刷新的话,实现下边这个方法就行
- @Override
- public void onRefresh(PullToRefreshBase<ExpandableListView> refreshView) {
- if (!isRefreshing) {
- isRefreshing = true;
- updateList(true);
- } else {
scroll.onRefreshComplete(); //这个是停止刷新的方法- }
- }
// 如果是两个都支持的话,实现下边的监听方法scroll.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<GridView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) { handler.postDelayed(new Runnable() { @Override public void run() { } }, 2000); } @Override public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) { handler.postDelayed(new Runnable() { @Override public void run() { } }, 2000); } });这样基本就完成了 ,简单功能就能实现。。。。