首页 > 其他 > 详细

使用PullToRefresh实现下拉刷新和上拉加载

时间:2015-09-09 18:53:00      阅读:280      评论:0      收藏:0      [点我收藏+]

PullToRefresh是一套实现非常好的下拉刷新库,它支持:

1.ListView

2.ExpandableListView

3.GridView

4.WebView

等多种常用的需要刷新的View类型,而且使用起来也十分方便。

(下载地址:https://github.com/chrisbanes/Android-PullToRefresh)

 

下载完成,将它导入到eclipse中,作为一个library导入到你的工程中就好了。

 

一、废话少说,下拉刷新go。

 1.在你的布局文件中加上你想用的View就好了,比如这儿我想用一个支持下拉 刷新的ListView

   <com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto"
            android:id="@+id/all_question_list"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="5dp"
            android:dividerHeight="0dp"
            android:divider="@null"
            android:cacheColorHint="@android:color/transparent"
            android:listSelector="@null"
            android:background="@android:color/white"
            ptr:ptrHeaderTextColor="@android:color/black" />

2. 在你的Activity代码中进行简单的设置:

@ViewMapping(id = R.id.all_question_list)
    private PullToRefreshListView mRefreshListView;

这样你就可以对PullToRefreshListView进行操作。

    mRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
        mRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> listViewPullToRefreshBase) {
                requestQuestionList(1);
                Utils.resetRefreshLabel(getActivity(), mRefreshListView);
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> listViewPullToRefreshBase) {
                if (mCurPage * PAGE_SIZE >= mTotal) {
                    Utils.setRefreshLabelToLast(getActivity(), mRefreshListView);
                    Utils.COMMON_HANDLER.sendMessageDelayed(
                            Message.obtain(Utils.COMMON_HANDLER, Utils.REFRESH_TO_COMPLETE, mRefreshListView), 500);
                } else {
                    requestQuestionList(mCurPage + 1);
                }
            }
        });
    }

其中setMode为Mode.Both是既要要实现上拉,也要实现下拉。

当下拉和上拉完成时记得执行如下语言:mRefreshListView.onRefreshComplete();

 

使用PullToRefresh实现下拉刷新和上拉加载

原文:http://www.cnblogs.com/hupp/p/4795510.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!