【问题标题】:Android Studio Kotlin databinding: Unresolved reference on BRAndroid Studio Kotlin 数据绑定:BR 上未解决的参考
【发布时间】: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.fooimport another.pacakge.BR as BR2 然后BR2.foo 之类的事情,但它似乎不正确。

标签: android-studio kotlin data-binding


【解决方案1】:

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

import androidx.databinding.library.baseAdapters.BR

我不完全确定为什么会这样,但它消除了所有的分析问题,应用程序仍然可以编译和工作,所以我个人很高兴。

【讨论】:

  • 它不起作用。仍然编译失败。 Gradle 版本 - 4.2.2
猜你喜欢
  • 2016-01-14
  • 2020-12-26
  • 2020-09-29
  • 1970-01-01
  • 2021-07-23
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
相关资源
最近更新 更多