android - 通过在其中放置 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
}
解决方案
我忘记启用数据绑定
dataBinding {
enabled = true
}
推荐阅读
- node.js - 如何使用firebase存储桶节点sdk
- php - PHP 可以注册但无法登录特定数据库
- json - jq 带变量和 json 和双引号 " " "
- python - 图像分类,网络没有学习任何东西
- jenkins - 在 Jenkins 流水线库中使用 withCredentials([usernamePassword( ... ) ])
- laravel - spatie/multi-tenancy - 对房东管理面板无效的目录名称使用不同的保护
- picat - 如何在 Picat 中构建格雷码生成器?
- stackexchange.redis - 在 StackExchange.Redis 回调中使用服务
- css - 固定高度表,带有溢出-x 用于单元格内容
- javascript - 延迟加载样式=“跨度标签内的背景图像”