使用开源项目PullToRefresh实现下拉刷新和上拉加载
来源:互联网 发布:啥叫大数据时代 编辑:程序博客网 时间:2024/05/05 14:52
转自:http://blog.csdn.net/ueryueryuery/article/details/17440465
http://doc.okbase.net/u014470726/archive/107935.html
PullToRefresh是一套实现非常好的下拉刷新库,它支持:
1.ListView
2.ExpandableListView
3.GridView
4.WebView
等多种常用的需要刷新的View类型,而且使用起来也十分方便。
(下载地址:https://github.com/chrisbanes/Android-PullToRefresh)
首先 下载 Android-PullToRefresh-master
下载地址 https://github.com/chrisbanes/Android-PullToRefresh
下载之后将其解压
现在 我们用eclipse 创建一个项目取名PullToRefresh
将上面的library 引入我们的项目
引入成功之后打开项目的project.properties文件我们可以看到
android.library.reference.1=../Android-PullToRefresh-master/library
这样就表示可以引用成功了
现在来看看怎样代码中怎样使用
1.在你的布局文件中加上你想用的View就好了,比如这儿我想用一个支持下拉 刷新的ExpandableListView
- <com.handmark.pulltorefresh.library.PullToRefreshExpandableListView
- android:id="@+id/expand_list"
- android:layout_width="match_parent"
- android:layout_height="match_parent" />
2. 在你的Activity代码中进行简单的设置:
- mExpandList = (PullToRefreshExpandableListView) rootView.findViewById(R.id.expand_list);
- mExpandList.getRefreshableView().setGroupIndicator(null);
- mExpandList.getRefreshableView().setDivider(null);
- mExpandList.getRefreshableView().setSelector(android.R.color.transparent);
- mExpandList.getRefreshableView().setOnGroupClickListener(this);
- mExpandList.setOnRefreshListener(this);
第一行是找到这个View,最后一行是为它加上刷新的监听器,中间的几行是我对ExpandableListView进行一些设置。
这样其实就已经可以下拉刷新了,但刷新时需要运行的代码写在哪呢,还有为什么下拉不会收起来呢,且往下看3.下拉刷新时执行的方法onPullDownToRefresh()
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
valueList.clear();
pageNumber = 0;
getValue();
}
一般来说我们会开另一个线程去获取数据,所以这儿会加上一个判断,如果已经在获取数据了,就onRefreshComplete(),就是将下拉收起;否则就去开新线程取数据,取完记得也要onRefreshComplete()哦!
4.上拉加载时执行的方法onPullUpToRefresh()
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
if (totalRow == valueList.size()) {
Toast.makeText(this, "已没有更多数据", Toast.LENGTH_SHORT).show();
officeList.onRefreshComplete();
} else {
getValue();
}
}
最后记得Mode设置为Mode.BOTH后,下拉和上拉都会执行onRefresh()中的方法了。
- 使用开源项目PullToRefresh实现下拉刷新和上拉加载
- Android 下拉刷新上拉加载效果功能,使用开源项目android-pulltorefresh实现
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- 使用PullToRefresh实现下拉刷新和上拉加载
- node jade学习笔记
- how to understand fft
- MVC5学习系列——详解编辑操作
- 凸包 graham 算法
- 1. SVN (1)
- 使用开源项目PullToRefresh实现下拉刷新和上拉加载
- 如何让 Tomcat 访问 HBase
- JavaWeb自学之JavaScript学习笔记 Day-1
- NuGet发布类库——使用及更新
- FragmentTransaction 中的方法 replace(int, Fragment)对于参数(int, Fragment1)不适用
- 设计模式—六大原则
- 负数的二进制表示
- 浙江理工校赛
- 【模拟+思维】hdu5200 Trees