【问题标题】:Kotlin extension functions unresolved reference : navGraphViewModelsKotlin 扩展函数未解析参考:navGraphViewModels
【发布时间】:2021-02-17 09:42:04
【问题描述】:

我正在尝试将我的部分代码从 java 转换为 kotlin。目前,我面临一个问题。 使用

将视图模型范围限定为 NavGrap im
private val mPrintsViewModel : PrintsViewModel by navGraphViewModels(R.id.nav_print)

它编译得很好。但是在运行应用程序时出现错误。

Unresolved reference: navGraphViewModels

我查看了几个解决方案,例如

  1. 将以下行添加到 gradle
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
  1. 清除缓存并重启

  2. 验证 IDE kotlin 版本是否与项目 kotlin 版本匹配。

以上解决方案均无效。

所有 kotlin 扩展函数都会出现此问题。

我正在使用 kotlin-1.4.10

类似问题:Question 1, Question 2

【问题讨论】:

    标签: android kotlin kotlin-android-extensions


    【解决方案1】:

    navGraphViewModels 属性委托是 navigation-fragment-ktx 依赖项的一部分。它不是 Kotlin 的一部分,也不是 kotlin-android 或 kotlin-android-extensions 插件的一部分。

    确保您的 dependencies 块依赖于 navigation-fragment-ktx(尤其不仅仅是 navigation-fragment。

    【讨论】:

    • 感谢您的回复。是的,它有依赖 ``` implementation "androidx.navigation:navigation-fragment-ktx:2.3.1" ```
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    相关资源
    最近更新 更多