Java 运行时异常:视图标记为';视图上不正确:ViewAgendaItemBinding.bind()方法上为null

Java 运行时异常:视图标记为';视图上不正确:ViewAgendaItemBinding.bind()方法上为null,java,android,data-binding,android-recyclerview,android-databinding,Java,Android,Data Binding,Android Recyclerview,Android Databinding,我有相当简单的代码,应该根据几篇关于数据绑定的文章来工作,但由于某些原因,它不是 我正在尝试将RecycleView与数据绑定结合使用 class ItemViewHolder extends RecyclerView.ViewHolder{ ViewAgendaItemBinding binding; public ItemViewHolder(View itemView) { super(itemView); binding = ViewA

我有相当简单的代码,应该根据几篇关于数据绑定的文章来工作,但由于某些原因,它不是

我正在尝试将RecycleView与数据绑定结合使用

class ItemViewHolder extends RecyclerView.ViewHolder{

    ViewAgendaItemBinding binding;

    public ItemViewHolder(View itemView) {
        super(itemView);
        binding = ViewAgendaItemBinding.bind(itemView); //this is line where it's throw an error.
    }
}
我检查了这个
bind
方法的生成版本,结果如下:

public static ViewAgendaItemBinding bind(android.view.View view, android.databinding.DataBindingComponent bindingComponent) {
        if (!"layout/view_agenda_item_0".equals(view.getTag())) {
            throw new RuntimeException("view tag isn't correct on view:" + view.getTag());
        }
        return new ViewAgendaItemBinding(bindingComponent, view);
    }
这很奇怪。因为我没有
布局/视图\u议程\u项目\u 0
。这个视图应该使用
layout/view\u agenda\u item
,我显然没有设置任何标签。然而,即使我为这个元素设置了这些标记,它仍然不起作用

我该怎么做才能解决这个问题


但是,如果我将此代码
ViewAgendaItemBinding.bind(itemView)
更改为此代码
DataBindingUtils.bind(itemView)
。这是数据绑定库中的问题吗?

数据绑定会在编译过程中重新写入布局文件,以便自动添加该标记


DataBindingUtils.bind
检查视图上是否存在绑定并重新使用它。看起来您已经在该视图上初始化了数据绑定。我认为我们应该改变
ViewAgendaItemBinding.bind
方法来做同样的事情。

我不确定我是否正确地理解了这一点。我很有信心,这是我试图绑定数据的唯一地方,因为这只是一个将适配器与数据绑定一起使用的虚拟示例。@yigit问题跟踪器上对此有问题吗?我在使用recyclerview进行数据绑定时遇到了这个错误。我的问题是我多次尝试绑定到同一布局(因为它是循环使用的),而
XYZ.bind
方法没有检查要绑定的现有点,反而失败了,因为在第一次(正确)绑定时删除了初始标记。