在RecyclerView,安卓面试问题

ViewBinding

  • 当AutomaticBindingAdapter无法满足需求时,可使用MutableBindingAdapter + ViewBindingHolder

//创建Adapter,继承自MutableBindingAdapter,共3个泛型参数,分别是:
// T -> 实现Identifiable接口的数据类
// VH -> ViewBindingHolder的实现类
// VB -> 根据布局自动生成的ViewBinding或ViewDataBinding实现类
//需要向构造方法中传递一个从VB创建VH的工厂方法,一般直接引用VH实现类的构造方法即可
//如果没有传递这个参数,则需要实现onCreateViewHolder方法
class ItemAdapter : MutableBindingAdapter(::ItemHolder)

//声明复用的ViewHolder,有两个泛型参数,分别是:
// T -> 实现Identifiable接口的数据类
// VB -> Item布局自动生成的ViewBinding实现类
// 实现binding方法,可满足各种需求。
class ItemHolder(binding: ItemBinding) : ViewBindingHolder(binding) {

init {
binding.root.setOnClickListener {
val item = list.getItem(layoutPosition)
//d

你可能感兴趣的:(程序员,架构,移动开发,android)