相关疑难解决方法(0)

ViewBinding - 如何绑定包含的布局?

在使用 ViewBinding 时,我遇到了一些没有记录的案例。

第一:如何获取包含的通用视图布局部分的绑定,主绑定只看到主布局中的项目?

第二:如何获得包含的合并类型布局部分的绑定,再次主绑定只看到主布局中的项目?

android android-viewbinding

135
推荐指数
4
解决办法
3万
查看次数

ViewBinding - 不同风味的布局资源

我有一个风格,其中包含与我的main源集中相同的布局资源。这是因为它用特定的风味覆盖了主要的。我在很多地方都这样做过,在我引入ViewBinding. 为准确起见,布局是“包含”在片段中的嵌套布局。

这是结构:

main
 - res 
 - - layout 
 - - - layout_sign_up_details_fields.xml
flavor 
 - res 
 - - layout 
 - - - layout_sign_up_details_fields.xml

Run Code Online (Sandbox Code Playgroud)

til_sudf_first_name在我的主要资源中没有的特定于风味的布局资源中有一个视图,其 ID 是。这是有意的。View通过在运行此构建变体时查看生成的源,我可以看到这是在我的绑定类中“绑定”的。

main
 - res 
 - - layout 
 - - - layout_sign_up_details_fields.xml
flavor 
 - res 
 - - layout 
 - - - layout_sign_up_details_fields.xml

Run Code Online (Sandbox Code Playgroud)

现在实际绑定发生在“基”类中,并使用protected可见性修饰符与子类共享,如下所示:

@NonNull
public final TextInputLayout tilSudfFirstName;
Run Code Online (Sandbox Code Playgroud)

问题是detailsBinding不包含我需要的视图,即使它存在于生成的类中。

此外,另一个奇怪的事情是,即使main布局文件中存在不在特定于风味的布局文件中的视图,它们仍然包含在生成的布局文件中。

我正在尝试做的甚至可能吗?我可用的解决方法是对这个实例使用 kotlin 的综合视图处理,因为我一直在尝试使用推荐的方法

data-binding android android-layout android-flavors android-viewbinding

7
推荐指数
1
解决办法
1487
查看次数