我的风格包含与我的main
源集中相同的布局资源。这样它就可以用特定于风味的那一种来覆盖主要的那一种。我在很多地方都这样做过,在我介绍ViewBinding
. 为了准确起见,布局是“包含”在片段中的嵌套布局。
这是结构:
main
- res
- - layout
- - - layout_sign_up_details_fields.xml
flavor
- res
- - layout
- - - layout_sign_up_details_fields.xml
til_sudf_first_name
在我的主要资源中没有的特定于风味的布局资源中,我有一个视图,其 ID 为。这是有意的。View
通过在运行此构建变体时查看生成的源,我可以在我的绑定类中看到这是“绑定”的。
@NonNull
public final TextInputLayout tilSudfFirstName;
protected
现在实际的绑定发生在“基”类中,并使用可见性修饰符与子类共享,如下所示:
private var _binding : FragmentSignUpDetailsBinding? = null
protected val binding get() = _binding!!
protected val detailsBinding get() = binding.lSudfDetails
问题是detailsBinding
不包含我需要的视图,即使它存在于生成的类中。
此外,另一个奇怪的事情是,即使main
布局文件中的视图不在风味特定的布局文件中,它们仍然包含在生成的布局文件中。
我想要做的甚至可能吗?我可以使用的解决方法是像我一样对这个实例使用 kotlin 的合成视图处理,但我试图使用推荐的方法