一、史上最精简Refresh RecyclerView库: 通过Kotlin语言,基于MVVM模式,通过DataBinding,ViewModel,LiveData技术,实现了RecyclerView最精简封装,什么下拉刷新,加载更多,分页算法,创建adapter,关联listData,数据为空时自定义emptyView的显示,都可以不用再去关心了,最少的代码,实现最全的功能, 1.4.0支持单type类型且支持多type类型布局;demo如下
refresh.putItemByType("0", R.layout.item_product_0)
refresh.putItemByType("1", R.layout.item_product_1)
refresh.bindData<Product> {
if (it.itemType == 0) (it.binding as ItemProduct0Binding).product = it
if (it.itemType == 1) (it.binding as ItemProduct1Binding).product = it
}
refresh.loadData {
viewModel.getProducts(refresh.pageIndex, refresh.pageSize)
viewModel.ps.obs(this) {
it.y { refresh.addData(it.data) }//向refresh添加数据
it.n {}
}
}
效果如下: