Android 视图绑定适用于一种布局,但不适用于另一种布局

Android 视图绑定适用于一种布局,但不适用于另一种布局,android,kotlin,android-viewbinding,Android,Kotlin,Android Viewbinding,android开发新手,我正在尝试应用视图绑定,因为它们是Google目前推荐的视图引用方法。我有两个布局content_main.xml和content_note_list.xml。我得到了第一个使用视图绑定的“content\u main\u xml”(MainActivity)。但是,我在为第二个“content\u note\u list.xml”实现视图绑定时遇到了问题 下面是在模拟器中不断使应用程序崩溃的代码 当我不使用视图绑定ie时,它可以工作 setContentView(R.

android开发新手,我正在尝试应用视图绑定,因为它们是Google目前推荐的视图引用方法。我有两个布局content_main.xml和content_note_list.xml。我得到了第一个使用视图绑定的“content\u main\u xml”(MainActivity)。但是,我在为第二个“content\u note\u list.xml”实现视图绑定时遇到了问题

下面是在模拟器中不断使应用程序崩溃的代码

当我不使用视图绑定ie时,它可以工作

setContentView(R.layout.activity_note_list)
但当我尝试使用视图绑定时,它会打开应用程序并瞬间崩溃

setContentView(binding.root)
我不知道我做错了什么,我遵循了官方android开发网站提供的描述,多个视频。 任何帮助都是必要的

编辑:


很抱歉附加图像文件,当我尝试附加它时,代码变得一团糟。

它似乎就是名称。回忆起。如果布局为
result\u profile.xml

<LinearLayout ... >
    <TextView android:id="@+id/name" />
    <ImageView android:cropToPadding="true" />
    <Button android:id="@+id/button"
        android:background="@drawable/rounded_button" />
</LinearLayout>
和content_note_list.xml

........
<include 
    id="+@id/ly_content_list_note"
    layout="@layout/content_list_note"/>
........
<listView
    id="+id/listNotes"
    .......
/>

如您所见,首先直接访问容器的id,即
ly\u content\u list\u note
,然后访问其中的所有视图组件,在本例中
listNotes
添加到@rguzman answer中,以避免遇到这样的问题,即绑定类型意外设置错误,您可以使用
DataBindingUtil
library

对于活动

val binding = DataBindingUtil.setContentView(this, R.layout.your_file)
对于片段

 binding = DataBindingUtil.inflate(inflater, R.layout.your_file, container, false)

//other logic

return binding.root

有关更多信息,请访问官方文档

错误消息是什么?欢迎访问堆栈溢出。请发布您的代码而不是图像。因此,我发现活动被分为两个独立的部分,content_name.xml和activity_name.xml,它们有不同的视图(按钮、列表视图等),您可以添加到其中。在activity_note_list.xml文件中,包含了content_note_list文件,我需要通过视图绑定访问两个布局(activity和content)中的引用。这将如何工作?这两个xml文件都有单独的绑定对象生成。ActivityNoteListBinding和ContentNoteListBinding。我需要访问的大多数引用都在ContentNoteListBinding中。但是,我仍然需要访问其他版面中的引用。请添加您的内容、活动的xml以及您正在使用的另一个xml。我认为您可以直接访问,但我需要了解您活动的xml是如何结构化的!谢谢,答案已经更新了!
 binding = DataBindingUtil.inflate(inflater, R.layout.your_file, container, false)

//other logic

return binding.root