Java Android自定义视图中的数据绑定
我已经创建了一个自定义布局,如下所示。我想用这个布局执行数据绑定。如何执行此任务Java Android自定义视图中的数据绑定,java,android,android-layout,android-fragments,Java,Android,Android Layout,Android Fragments,我已经创建了一个自定义布局,如下所示。我想用这个布局执行数据绑定。如何执行此任务 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:layout_width="wrap_content" android:layout_he
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<TextView
android:id="@+id/no_internetConnection_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_toRightOf="@+id/icon_noInternet_connection"
android:text="@string/no_Internet_Connection_text" />
</LinearLayout>
</layout>
目前我得到一个错误。这是因为布局标签
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class layout
我希望您已经在模块gradle文件中启用了数据绑定
android {
....
dataBinding {
enabled = true
}
}
我希望您已经在模块gradle文件中启用了数据绑定
android {
....
dataBinding {
enabled = true
}
}
由于xml文件不包含数据标记,因此未生成MyLayoutBinding。将数据标记放入布局并在数据内声明变量后,应生成MyLayoutBinding由于xml文件不包含数据标记,因此不会生成MyLayoutBinding。将数据标记放入布局并在数据内声明变量后,应生成MyLayoutBinding您需要添加
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<merge>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<TextView
android:id="@+id/no_internetConnection_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_toRightOf="@+id/icon_noInternet_connection"
android:text="@string/no_Internet_Connection_text" />
</LinearLayout>
<merge/>
</layout>
您需要添加
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<merge>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<TextView
android:id="@+id/no_internetConnection_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_toRightOf="@+id/icon_noInternet_connection"
android:text="@string/no_Internet_Connection_text" />
</LinearLayout>
<merge/>
</layout>
对于有相同问题的其他人,请检查以下内容:
- XML文件必须具有布局标记
- 绑定类名将基于XML文件名生成。my_file.xml将产生名称“myFileBinding”
- 如果找不到绑定类,请尝试重新生成项目
- XML文件必须具有布局标记
- 绑定类名将基于XML文件名生成。my_file.xml将产生名称“myFileBinding”
- 如果找不到绑定类,请尝试重新生成项目
MyLayoutBinding=MyLayoutBinding.bind(viewRoot)代码>MyLayoutBinding类未在我的案例中生成。我无法找到该绑定类。我不在活动课上。这重要吗???因为你缺少重要的部分。例如MyLayoutBinding=MyLayoutBinding.bind(viewRoot)代码>MyLayoutBinding类未在我的案例中生成。我无法找到该绑定类。我不在活动课上。这重要吗???