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

mac2022-06-30  66

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();

 

转载于:https://www.cnblogs.com/hupp/p/4795510.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)