在我的项目中,ViewBinding在编译时与DataBinding有冲突。
LayoutListCoverMaskBinding 是 ViewBinding 的子类,但参数需要一个 DataBinding 类型
DataBinding 和 ViewBinding 都启用
viewBinding {
enabled = true
}
dataBinding {
enabled = true
}
有人可以澄清我为什么会发生这种情况以及是否有办法解决它?
您必须将包含在 DataBinding 布局中的所有布局包装到<layout></layout>
标签中,否则 ViewBinding 框架将为它生成自己的绑定,这与 DataBinding 使用的绑定不兼容。
所以确保你的根元素layout_list_cover_mask.xml
是<layout>
如果你想维护两者,你应该按照 Guni 的建议去做。但是,我建议只使用 viewBinding,因为它更快,并且您不必使用它来包装任何视图组,并且它的语法也得到了简化。如果您想使用两种方式绑定,那么您可以将两者结合起来(viewBinding 和 dataBinding)。只选择一个以避免麻烦。