首页 > 解决方案 > 通过在其中放置 xml 代码构建失败在使用数据绑定时

问题描述

我想根据codelab 课程在我的 recyclereview 行中使用数据绑定。我现在实现的是在行上显示数据,并为项目行提供视图绑定。我有一个带有名称的 xml 行,layout_row_lesson.xml它生成了绑定类LayoutRowLessonBinding,并且适配器中的数据正确设置为视图。我的 xml 是这样的

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout>
.
.
<SomeViews>
.
.
</androidx.constraintlayout.widget.ConstraintLayout>

但是当我尝试使用数据绑定并将我的 xml 更改为类似这样的东西时会出现错误

<?xml version="1.0" encoding="utf-8"?>
<layout>
    <androidx.constraintlayout.widget.ConstraintLayout>
    .
    .
    <SomeViews>
    .
    .
    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

正如您在将我的代码放在 and 之间并尝试重建应用程序之后看到的那样,<layout></layout>错误显示

...\app\databinding\LayoutRowLessonBinding.java:18: error: cannot find symbol
public abstract class LayoutRowLessonBinding extends ViewDataBinding {

我做了什么来解决但没有成功是:

1.使缓存无效并重新启动
2.重命名布局文件名
3.清理和重建
4.重新启动android studio
5.删除构建文件夹

并启用清除视图绑定:

 viewBinding {
        enabled = true
    }

标签: androidandroid-databinding

解决方案


我忘记启用数据绑定

 dataBinding {
        enabled = true
 }

推荐阅读