使用RxJava实现PullScrollView,PullListView, PullGridView 等进入自动下拉刷新
来源:互联网 发布:网站幻灯片js代码 编辑:程序博客网 时间:2024/06/08 17:35
记得之前使用postDelayed,判断getHeaderSize是否为0来确定是否调用下拉刷新方法,详细可看我的另外一篇文章http://blog.csdn.net/qq_24641847/article/details/46864809
但是其中有一个缺陷就是必须继承重新添加,如果所有的下拉刷新都加上这个处理的话,就需要额外写不少代码,现在我们抽出一个工具类,使用RxJava来实现,
核心代码:
public class PullToRefreshUtil { public static void setRefreshing(PullToRefreshBase pullToRefresh, LifecycleTransformer transformer) { if (pullToRefresh != null) Observable.interval(200, TimeUnit.MILLISECONDS) .filter(aLong -> pullToRefresh.getHeaderLayout().getHeight() > 0).firstElement() .compose(transformer) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(aLong -> pullToRefresh.setRefreshing()); }}
fragment调用:(activity类似)
PullToRefreshUtil.setRefreshing(mRefreshScrollView, bindUntilEvent(FragmentEvent.DESTROY_VIEW));
可以看到我们不用多添加任何代码,只需要在需要用的时候调用一些就好
我这里使用绑定了界面生命周期,如果不使用,记得主动在界面销毁的时候解绑
阅读全文
0 0
- 使用RxJava实现PullScrollView,PullListView, PullGridView 等进入自动下拉刷新
- PullScrollView,PullListView, PullGridView 等进入自动下拉刷新
- SwipeRefreshLayout 首次进入界面自动下拉刷新
- retrofit+rxjava+recyclerview+下拉刷新+自动加载更多
- PullScrollView详解(四)——完全使用listview实现下拉回弹(方法一)
- PullScrollView详解(五)——完全使用listview实现下拉回弹(方法二)
- PullScrollView详解(四)——完全使用listview实现下拉回弹(方法一)
- PullScrollView详解(五)——完全使用listview实现下拉回弹(方法二)
- PullScrollView详解(四)——完全使用listview实现下拉回弹(方法一)
- PullScrollView详解(五)——完全使用listview实现下拉回弹(方法二)
- Android自定义PullListView下拉刷新,上拉加载更多分页数据
- Android-PullToRefresh实现进入自动刷新
- 实现SwipeRefreshLayout首次进入自动刷新
- 使用RxJava的retryWhen操作符实现token过期自动刷新
- 使用EGOTableViewPullRefresh实现下拉刷新
- 使用SwipeRefreshLayout实现下拉刷新
- 使用XRefreshView实现下拉刷新下拉加载
- Android XListView 如何实现 自动下拉刷新
- 用composer搭建php框架(三)--MVC之控制器
- 序列化二叉树
- vue2.0中写一个能在外面访问的全局函数
- codeforces314D 二分+滑窗
- ip
- 使用RxJava实现PullScrollView,PullListView, PullGridView 等进入自动下拉刷新
- hdu6125-(状态压缩+分组背包)
- 各种压缩格式比较
- memcached完全剖析–1. memcached的基础
- Docker入门笔记
- Densely Connected Convolutional Networks
- HDU-6063-RXD and math-
- 安卓恶意锁屏APP分析
- 项目用到的窗口管理类