Android Studio Kotlin数据绑定:BR上的未解决引用

5
我有一些代码在Android Studio中生成了一个“红色波浪线”错误:

我有一些代码在Android Studio中生成了一个“红色波浪线”错误:

@get:Bindable
var title: String = ""
    set(value) {
        field = value
        notifyPropertyChanged(BR.title)
    }

它指出BR.title上的"title"是未解决的引用。虽然编译和运行都很顺利,但这是我唯一能看到的错误。我在那里调试并看到它正确地获取了BR.title的值。
但是,我无法弄清如何让它消失。我验证了生成的BR类具有"title"字段,但Android Studio拒绝识别它。我查找了遇到此问题的人,并尝试了以下方法(但均失败):
  • 关闭Android Studio,删除.gradle、.idea和build文件夹并重新启动
  • Build -> Clean Project,Rebuild Project
  • File -> Invalidate Caches and restart
  • 禁用和启用Kotlin插件
  • 关闭并重新打开项目
我还检查了build.gradle中是否有apply plugin: 'kotlin-kapt'
有人知道是怎么回事吗?我想必须在某个地方保留了一些缓存文件,但我不知道在哪里。

尝试另一个,注释掉这一行 -> notifyPropertyChanged(BR.title),然后 Build -> Clean Project,Rebuild Project,最后取消注释并尝试。 - Shweta Chauhan
@ShwetaChauhan 那也不行。 - RandomEngy
同样的情况。我的问题是BR.foo位于另一个模块中,在我的current.package.BR中确实找不到(未解决),但应用程序编译和运行得很好,BR可能最终会被合并。我只是想找一种方法来忽略它们,以便我不会在各个地方看到红线。当然,我也可以做像 another.package.BR.fooimport another.pacakge.BR as BR2 然后 BR2.foo 这样的事情,但这似乎不正确。 - CHAN
1个回答

12

对我解决问题的方法是将以下导入内容添加到我的文件中:

import androidx.databinding.library.baseAdapters.BR

我并不完全确定为什么这样做能够解决所有的分析问题,但它消除了这些问题,并且应用程序仍然可以编译和正常工作,所以我个人很高兴。


它不起作用。编译仍然失败。Gradle版本-4.2.2。 - gopalanrc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接