Android ViewBinding-包含布局绑定,导致无法解析引用
我正在我的一个片段中实现ViewBinding。此片段包含如下布局:Android ViewBinding-包含布局绑定,导致无法解析引用,android,android-layout,android-fragments,android-viewbinding,Android,Android Layout,Android Fragments,Android Viewbinding,我正在我的一个片段中实现ViewBinding。此片段包含如下布局: 。。。 但它也不起作用 为片段生成的视图绑定类内部有绑定,但是,属性的类型是view。然后,当我使用binding.lSudfDetails引用视图时,类型是layoutsignupdetailsfieldsbinding。这个类型来自何处我无法确定,因为没有生成具有该名称的类,但是,我希望它会为它分配适当的绑定类型。以下是FragmentSignUpDetailsBinding.java中的属性 @NonNull 公共最终视
。。。
但它也不起作用
为片段生成的视图绑定类内部有绑定,但是,属性的类型是view
。然后,当我使用binding.lSudfDetails
引用视图时,类型是layoutsignupdetailsfieldsbinding
。这个类型来自何处我无法确定,因为没有生成具有该名称的类,但是,我希望它会为它分配适当的绑定类型。以下是FragmentSignUpDetailsBinding.java
中的属性
@NonNull
公共最终视图LSUDF详细信息;
然而,绑定的设置都是正确的,它允许我在嵌套布局中引用视图,但是当我开始构建时,会出现未解决的引用错误。当我这样引用他们时,Lint没有抱怨:
binding.lSudfDetails.etSudfDob
但是,编译器确实会失败,并出现如下错误
未解析的引用:etSudfDob
绑定本身是根据以下步骤创建的:
tvSudfWelcome
绑定使用它不喜欢的嵌套绑定。如果您使用的是Android Studio 3.6.0,gradle插件有时无法为包含的布局生成ViewBinding字段。请更新至Android Studio 3.6.1,并将gradle插件版本更新至3.6.1 是layout\u sign\u details\u fields
的根标签是
?@SomeshKumar否其根是LinearLayout
。我会改为“合并”,看看是否会有不同。这没什么区别。你能添加一些代码吗。。你如何设置视图绑定,然后如何访问它?@SomeshKumar我已经在问题中添加了代码。这看起来很完美。有些人在Android studio 3.6.0中遇到了有关ViewBinding
的问题。您是否正在使用最新的studio V3.6.1和gradle V3.6.1?如果您能提供帮助,请选择另一款-
private var _binding : FragmentSignUpDetailsBinding? = null
private val binding get() = _binding!!
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
_binding = FragmentSignUpDetailsBinding.inflate(inflater,container,false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.tvSudfWelcome.text = getString(R.string.sign_up_welcome,getString(R.string.app_name))
binding.lSudfDetails.etSudfDob.setOnClickListener {
showYearSelection()
}
}