android - 启用 safe-args 插件后无法从数据绑定(bind)获取 Root View

标签 android kotlin android-databinding android-safe-args

我正在使用 dataBinding 开发 Android 应用程序,目前正在尝试添加 safe-args 插件,但启用该插件后,我无法再通过 binding.root 获取 Root View - Android Studio 给出错误:

Unresolved Reference
None of the following candidates is applicable because of a receiver type mismatch:
* internal val File.root: File defined in kotlin.io

如何让数据绑定(bind)和安全参数完美配合?

请注意,虽然代码 fragment 位于 Kotlin 中,但我很乐意采用 Java 答案。在 Java 中不太舒服,但我可以轻松阅读并翻译它。

通过谷歌搜索错误消息和“安全参数”,我无法找到遇到同样问题的其他人。我首先尝试使用 Android 文档中列出的类路径:https://developer.android.com/guide/navigation/navigation-pass-data

classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0"

然后还发现了一个建议我使用的教程:

classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha07"

两者都有相同的问题:绑定(bind).root 在激活插件时出现错误

这是我的 fragment 的 onCreateView() 。当未启用 safe-args 时,该返回行可以正常工作,而在启用时则不起作用

   override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    binding = DataBindingUtil.inflate(inflater, R.layout.fragment_encoder, container, false)

    return binding.root
}

非常感谢任何解决或理解此问题的帮助!

最佳答案

我也有同样的问题,最后我尝试了

文件 -> 无效缓存/重新启动

这对我有用。

关于android - 启用 safe-args 插件后无法从数据绑定(bind)获取 Root View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58516299/

相关文章:

java - JSOUP - 仅从 html 中选择一些文本

java - Android应用程序,检查带有INTEGER的EditText是否为空

android - 如何正确使用android数据绑定(bind)

android - SQLite 和共享首选项的优缺点

android - 如何获取 Google DeskClock 应用程序中设置的闹钟时间?

多次调用 Android LiveData observe

android - 按下项目时打开新 Activity

java - 在 Kotlin 中使用具有函数类型的函数接口(interface)

android - 与 Kotlin : ProcessDataBinding Unable to get public no-arg constructor 的数据绑定(bind)

Android 数据绑定(bind) DatabindingUtil 与绑定(bind)类