【问题标题】:Getting the viewmodel in my fragment using 'by viewModels()' is displaying an error使用 'by viewModels()' 在我的片段中获取视图模型显示错误
【发布时间】:2021-11-05 12:16:50
【问题描述】:

当试图从片段中获取对 viewModel 的引用时,我收到以下错误:“Type 'Lazy' has no method 'getValue(LoginTabFragment, KProperty)' 因此它不能担任代表”。 下图是我的片段:

【问题讨论】:

    标签: android kotlin viewmodel


    【解决方案1】:

    检查您的 LoginViewModel 类是否扩展了 ViewModel。

    【讨论】:

    • 您好,感谢您的回答。它确实扩展了 ViewModel 类。
    【解决方案2】:

    确保您已经将此依赖项添加到您的 gradle 中

        implementation "androidx.fragment:fragment-ktx:$fragment_version"
    

    根据this,目前的稳定版本是1.3.6

    【讨论】:

    • 感谢您回答我的问题。我的 gradle 文件中有这个依赖项: implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0' implementation 'androidx.fragment:fragment-ktx :1.3.6' 实现 'androidx.navigation:navigation-fragment-ktx:2.3.5'
    • 还有这个implementation "androidx.activity:activity-ktx:$activity_version"
    • 我试过了。还是同样的错误。关键字“apply”、“also”、“with”也未解决,即使存在这些错误,项目也成功构建。
    猜你喜欢
    • 2020-01-08
    • 2020-07-23
    • 1970-01-01
    • 2021-03-28
    • 2023-02-25
    • 1970-01-01
    • 2021-02-11
    • 2017-04-09
    • 1970-01-01
    相关资源
    最近更新 更多