add Data
fun addData(data: List<Any?>?, adapter: BindingAdapter? = null, isEmpty: () -> Boolean = { data.isNullOrEmpty() }, hasMore: BindingAdapter.() -> Boolean = { true })
Content copied to clipboard
自动分页自动加载数据, 自动判断当前属于下拉刷新还是上拉加载更多
实现
当getState等于RefreshState.Refreshing或者index等于startIndex会判断为下拉刷新 index初始值为startIndex, 每次调用本方法会将index递增, 下拉刷新会将index重置为startIndex
注意事项
请勿每次给data赋值同一个集合对象, 因为为了保证rv持有数据集合为一个对象, 覆盖数据会先clear再addAll新的数据集合
本方法只是简化分页列表数据赋值, 如果出现特别的需求请尝试自己更新rv数据集(即不使用本方法), 比如使用BindingAdapter.models
Parameters
data
数据集
adapter
假设PageRefreshLayout不能直接包裹RecyclerView, 请指定此参数. 但更推荐在布局中使用app:page_rv来指定列表
hasMore
在函数参数中返回布尔类型来判断是否还存在下一页数据, 默认值true表示始终存在
isEmpty
返回true表示数据为空, 将显示缺省页 -> 空布局, 默认以data.isNullOrEmpty()则为空