内容简介:还是那句话,RecyclerView的viewType增多,逻辑变复杂,几个月后,你确定还能理清思路吗?假设我们服务端是多个接口返回数据,你确定能正确刷新相应type吗?想一个RecyclerView高效快捷管理整个界面吗?你还在使用notifyDataSetChanged无脑刷新吗?你想单个viewType在loadingView,dataView,errorView自如切换吗?如果你迟疑了,那你不妨试试本库。一行代码搞定,前者提供实体类是考虑有些用户需要根据实体数据属性去更新,因此错误页面的layou
还是那句话,RecyclerView的viewType增多,逻辑变复杂,几个月后,你确定还能理清思路吗?假设我们服务端是多个接口返回数据,你确定能正确刷新相应type吗?想一个RecyclerView高效快捷管理整个界面吗?你还在使用notifyDataSetChanged无脑刷新吗?你想单个viewType在loadingView,dataView,errorView自如切换吗?如果你迟疑了,那你不妨试试本库。
特点
- 与Adapter为组合关系,可配合大多数Adapter
- 一行代码刷新相应viewType
- 支持facebook的shimmer加载效果
- 支持粘性头
- 支持异步刷新,可扩展(如配合RxAndroid)
- 支持加载相应type错误页面
- 支持高频率刷新(流畅,异步执行)
效果
线性排布
方格排布
关键字高亮
刷新错误页面
高频率刷新
更新内容
- 支持刷新type错误页面(可自定义)
- 支持同时刷新多个type(异步,高频率)
- 链式注册资源
- 支持刷新单个数据
- 提供helper的清除单个type,清除整个界面api
- 提供getHeaderId的默认实现抽象类
支持刷新type错误页面(可自定义)
一行代码搞定,前者提供实体类是考虑有些用户需要根据实体数据属性去更新,因此错误页面的layoutId是用户提供的。
支持同时刷新多个type(异步,高频率)
这里采用的是队列的形式管理刷新,提供清空队列的Api。
链式注册资源
由于参数越来越多,这里采用了较为流行的链式注册,内部通过ResourcesManager管理所有资源。
**注:**原来的注册方式已设置为过时,请及时更新,不出2个版本将移除。
支持刷新单个数据
可能某个type只有一个实体数据管理着整个type
可传T的子类集合
提供helper的清除单个type,清除整个界面api
提供getHeaderId的默认实现抽象类
假设你不实现粘性头而强制要写getHeaderId确实挺讨厌的,由于现在android还不是很好地兼容 java 8,因此暂时提供DefaultMultiHeaderEntity。
以上所述就是小编给大家介绍的《优雅地刷新RecyclerView》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Swift iOS : 上拉刷新或者下拉刷新
- Swift iOS : 上拉刷新或者下拉刷新
- 上拉加载 下拉刷新
- jQuery ajax局部刷新
- vue项目刷新当前页
- springcloud 配置文件管理动态刷新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
学习JavaScript数据结构与算法
[巴西] 格罗纳(Loiane Groner) / 孙晓博、邓钢、吴双、陈迪、袁源 / 人民邮电出版社 / 2015-10-1 / 39.00
本书首先介绍了JavaScript语言的基础知识,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、顺序搜索、二分搜索,还介绍了动态规划和贪心算法等常用的高级算法及相关知识。一起来看看 《学习JavaScript数据结构与算法》 这本书的介绍吧!