我正在使用 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/