RecyclerView 实现下拉刷新和自动加载

681 查看

RecyclerView是 Android 兼容包V21中新推出的列表类,它的自定义化强的优点足以让它能够取代GridView和ListView,本文将结合SwipeRefreshLayout与RecyclerView讲解如何实现下拉刷新和自动加载的代码

需要的依赖

以下版本自行更新

需要解决的问题

  • [x] 下拉刷新
  • [x] 自动加载
  • [x] 网络请求异步加载

技术处理

下拉刷新

采用 android.support.v4.widget.SwipeRefreshLayout 来实现
具体可以搜索这个class,我们按照官方文档,布局如下

然后对 swipeRefreshLayout 设置监听即可

自动加载

RecyclerView是一个新兴事物,伸手党们还找不到 endless-RecyclerView 这样的开源神器,只好自己找方法了,同ListView一样,还是重写 OnScrollListener 这个方法

如果想用GridView,可以试试这个,注意例子里的span_count =2

网络请求异步加载

我这里的 loadPage 是基于 Retrofit 构建的,输入参数是一个Map,它的回调功能非常实用,可以直接控制UI更新,流程图如下,大家可以参考一下设计

loadPage 流程图
参考文献