【发布时间】:2020-01-18 20:44:59
【问题描述】:
我有一些代码在 Android Studio 中生成“红色波浪”错误:
@get:Bindable
var title: String = ""
set(value) {
field = value
notifyPropertyChanged(BR.title)
}
它抱怨“标题”是BR.title 上未解决的引用。构建和运行工作正常,这是我能看到的唯一错误。我在那里调试,发现它正确地获得了BR.title 的值。
不过,我不知道如何让它消失。我验证了生成的 BR 类具有“title”字段,但 Android Studio 拒绝识别这一点。我查找了遇到此问题的人并尝试了以下方法:(不成功)
- 关闭 Android Studio,删除 .gradle、.idea 和 build 文件夹并重启
- 构建 -> 清理项目,重建项目
- 文件 -> 使缓存无效并重新启动
- 禁用和启用 Kotlin 插件
- 关闭和重新打开项目
我也检查了,我在 build.gradle 中有 apply plugin: 'kotlin-kapt'。
有人知道发生了什么吗?我认为它一定在某处保存了一些缓存文件,但我不知道在哪里。
【问题讨论】:
-
再试一个,注释这一行 -> notifyPropertyChanged(BR.title) 在 Build -> Clean Project, Rebuild Project 之后尝试取消注释该行
-
@ShwetaChauhan 那也没用。
-
同样的情况。我的问题是 BR.foo 位于另一个模块中,在我的 current.package.BR 中确实找不到(未解决),但应用程序编译和运行得很好,BR 可能最终被合并了。我只是在寻找一种忽略它们的方法,这样我就不会在任何地方看到红线。当然我也可以做
another.package.BR.foo或import another.pacakge.BR as BR2然后BR2.foo之类的事情,但它似乎不正确。
标签: android-studio kotlin data-binding