ViewBinding
- 当AutomaticBindingAdapter无法满足需求时,可使用MutableBindingAdapter + ViewBindingHolder
//创建Adapter,继承自MutableBindingAdapter,共3个泛型参数,分别是:
// T -> 实现Identifiable接口的数据类
// VH -> ViewBindingHolder的实现类
// VB -> 根据布局自动生成的ViewBinding或ViewDataBinding实现类
//需要向构造方法中传递一个从VB创建VH的工厂方法,一般直接引用VH实现类的构造方法即可
//如果没有传递这个参数,则需要实现onCreateViewHolder方法
class ItemAdapter : MutableBindingAdapter<Item, ItemBinding, ItemHolder>(::ItemHolder)
//声明复用的ViewHolder,有两个泛型参数,分别是:
// T -> 实现Identifiable接口的数据类
// VB -> Item布局自动生成的ViewBinding实现类
// 实现binding方法,可满足各种需求。
class ItemHolder(binding: ItemBinding) : ViewBindingHolder<Item, ItemBinding>(binding) {
init {
binding.root.setOnClickListener {
val item = list.getItem(layoutPosition)
//do something…
}
}
override fun binding(position: Int) {
//默认提供clickEvent点

本文详细介绍了在Android开发中如何在RecyclerView中使用ViewBinding,包括创建Adapter、ViewHolder,以及结合Paging3库进行数据绑定。同时讨论了如何处理列表的表头表尾占位,并提供了Paging3与DataBinding或ViewBinding的结合使用示例。

474

被折叠的 条评论
为什么被折叠?



