美文网首页Android-DataBinding
DataBinding(13)-动态变量

DataBinding(13)-动态变量

作者: 代码多哥 | 来源:发表于2023-08-30 19:59 被阅读0次

    有时,具体是那一个绑定类是未知的。例如,针对任意布局操作的RecyclerView.Adapter不知道具体会使用那个绑定类。它必须在调用onBindViewHolder()方法的过程中去绑定值。
    在以下示例中,RecyclerView绑定到的所有布局都有一个item变量。BindingHolder对象有一个返回ViewDataBinding基类的getBinding()方法。

    override fun onBindViewHolder(holder: BindingHolder, position: Int) {
        item: T = items.get(position)
        holder.binding.setVariable(BR.item, item);
        holder.binding.executePendingBindings();
    }
    
    

    注意:DataBinding框架会在模块包中生成一个名为BR的类,该类包含用于数据绑定的资源的ID。在前面的示例中,库会自动生成BR.item变量。

    译者注释:

    • holder.binding 等价于holder.getBinding方法
    • 每个item布局文件需要有item这个data节点 ,这样就可以不需要指导具体是那个Binding类,直接调用基类的setVariable方法来绑定数据

    相关文章

      网友评论

        本文标题:DataBinding(13)-动态变量

        本文链接:https://www.haomeiwen.com/subject/xeramdtx.html