2

在我的项目中,ViewBinding在编译时与DataBinding有冲突。 在此处输入图像描述

LayoutListCoverMaskBinding 是 ViewBinding 的子类,但参数需要一个 DataBinding 类型 在此处输入图像描述

我的布局文件: 在此处输入图像描述

DataBinding 和 ViewBinding 都启用

viewBinding {
    enabled = true
}
dataBinding {
    enabled = true
}

有人可以澄清我为什么会发生这种情况以及是否有办法解决它?

4

2 回答 2

2

您必须将包含在 DataBinding 布局中的所有布局包装到<layout></layout>标签中,否则 ViewBinding 框架将为它生成自己的绑定,这与 DataBinding 使用的绑定不兼容。

所以确保你的根元素layout_list_cover_mask.xml<layout>

于 2020-05-07T11:54:08.957 回答
0

如果你想维护两者,你应该按照 Guni 的建议去做。但是,我建议只使用 viewBinding,因为它更快,并且您不必使用它来包装任何视图组,并且它的语法也得到了简化。如果您想使用两种方式绑定,那么您可以将两者结合起来(viewBinding 和 dataBinding)。只选择一个以避免麻烦。

于 2020-06-01T04:01:12.473 回答