基于 Fragment、SwipeRefreshLayout、RecyclerView、RxJava 的快速列表页面开发工具类 在界面风格一致的情况下提供:
- ViewPager容器懒加载
- 初始化设置
- 封装页面UI
- 封装刷新回调
- 封装加载更多回调
- 提供页码、刷新/加载更多偏移值的请求数据时所需参数
- 获取到网络请求数据后的处理
- 使用
DiffUtil.Callback
进行RecyclerView局部刷新
- 导入依赖
compile 'com.chenfei:ContentListFragment2:1.0.1@aar'
- 设置基类
由于本框架是由Fragment实现,故部分操作是继承由Fragment
但是大部分app都会要求有自己的基类,故将基类抽离,使用时需放置Fragment基类到 com.chenfei.base.fragment.BaseFragment
创建Java源代码文件到com.chenfei.base.fragment.BaseFragment
,继承你自己的基类
库的抽象类会继承它
- 添加错误处理类
创建Java源代码文件到com.chenfei.base.RxJavaUtil
,并添加静态方法以处理error事件(RxJava):
package com.chenfei.base;
public class RxJavaUtil {
public static io.reactivex.functions.Consumer<Throwable> onError() {
}
}
- 使你的NetResult类实现接口
BaseResult
使你的NetResult类实现接口com.chenfei.contentlistfragment.util.BaseResult
,以获取返回值
网络请求的错误(包括resultCode)请在RxJava中通过filter过滤器抛出异常到error处理中
- 详情可参考demo