PullToRefreshListView下拉刷新和上拉加载更多使用方法

         PullToRefresh是目前实现比较好的下拉刷新的类库,下载地址:https://github.com/chrisbanes/Android-PullToRefresh

支持自顶部向下拉动,并从底部拉起(或两者兼有)。  
滚动支持在Android 2.1 +设备。 
目前适用于: 

  • ListView
  • ExpandableListView
  • GridView
  • WebView
  • ScrollView
  • HorizontalScrollView
  • ViewPager

下面介绍下ListView的用法,其他控件类似。

1、布局文件:activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/pull_refresh_list"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"/>
</LinearLayout>

2、 要实现下拉刷新的功能很简单,只需要实现OnRefreshListener的OnRefresh方法即可,但是想要判断是下拉刷新还是上拉加载更多,需要在PullToRefresh的类库的com.handmark.pulltorefresh.library包下,打开PullToRefreshBase.java。添加如下所示的二个方法:

public boolean isHeaderShown(){
	return getHeaderLayout().isShown();
}
	
public boolean isFooterShown(){
	return getFooterLayout().isShown();
}

3、Activity调用方法如下:
mPullRefreshListView = (PullToRefreshListView) rootView.findViewById(R.id.pull_refresh_list);                                                                 //设置支持下拉刷新和上拉加载更多
    mPullRefreshListView.setMode(Mode.BOTH);
    mPullRefreshListView.setOnRefreshListener(new OnRefreshListener<ListView>() {

        @Override
        public void onRefresh(PullToRefreshBase<ListView> refreshView) {
	    if(refreshView.isHeaderShown()){
	        //处理下拉刷新的业务
		new GetDataTask().execute();
	    }else{
		//处理上拉加载更多的业务
		new GetMoreDataTask().execute();
	   }
				
       }
});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值