Android 模块之间的视图绑定

Nik*_*ron 16 data-binding dependencies android module kotlin

模块之间的视图绑定有效吗?

如何重现:创建2个模块>>>在模块1中创建布局1并在模块2中创建布局2>>>在模块1中创建Fragment1,其视图将包括布局1,布局2>>>尝试获取绑定>>>布局1会起作用,因为它与 Fragment1 位于同一模块中,但由于绑定生成错误,layout2 将无法工作

我的例子:

认证模块对公共模块具有依赖关系。

base_button.xml位于公共模块中。

login_input_component.xml位于身份验证模块中,因此没有问题。

但是这个错误发生在loginButton绑定上。

即使 base_button.xml 位于另一个模块中,它也会尝试在身份验证模块中查找 BaseButtonBinding。

在此输入图像描述

所有模块都有:

buildFeatures {
    dataBinding = true
    viewBinding = true
}
Run Code Online (Sandbox Code Playgroud)

Age*_*ntP 2

如果我是对的,你有这种结构

项目
| -- 应用程序
| -- module1 [包含layout_one.xml 和layout_fragment.xml]
| -- module2 [包含layout_two.xml]

layout_fragment.xml将包括两者layout_one.xmllayout_two.xml

现在为了完成这项工作,您所需要做的就是转到module1 build.gradle文件并添加此依赖项

implementation project(":module2")
Run Code Online (Sandbox Code Playgroud)

请注意,您的应用程序将知道 module1 和 module2 文件,但 module1 和 module2 文件不会知道这两个文件的存在。因此,通过指定此依赖关系,我们使module1依赖于module2

并确保在每个模块中启用viewBinding