【问题标题】:Can't find ViewModelProviders class, only ViewModelProvider找不到 ViewModelProviders 类,只有 ViewModelProvider
【发布时间】:2018-11-24 15:05:09
【问题描述】:

我正在尝试创建可感知生命周期的视图模型。但是我在我的Android项目中找不到ViewModelProviders类,只有ViewModelProvider。似乎也没有 android.arch.lifecycle.ViewModelProviders 包供我导入。发生了什么

【问题讨论】:

    标签: kotlin viewmodel


    【解决方案1】:

    另外,仅供参考。

    ViewModelProviders 类现已弃用。 根据 Android 开发者文档:ViewModelProviders

    此类已弃用。使用 ViewModelProvider 的构造函数 直接。

    【讨论】:

    • 这应该是新的正确答案!
    【解决方案2】:

    您的项目中可能包含此依赖项:

    implementation "android.arch.lifecycle:viewmodel:$lifecycle_version"
    

    其中包含 ViewModelProvider(以及其他 4 个类),但 ViewModelProviders 位于不同的包中:

    implementation "android.arch.lifecycle:extensions:$lifecycle_version"
    

    以下是这些包的内容供参考(截至 1.1.1 版):


    作为记录,您可以通过查找 ViewModelProviders 类的文档自己找到这一点,上面写着:

    在 1.1.0 版本中添加

    属于Maven神器android.arch.lifecycle:extensions:1.1.1

    【讨论】:

    • 谢谢。以下是有关将 LifeCycle 组件添加到项目中的一些更详细信息 developer.android.com/topic/libraries/architecture/…
    • 使用 API 29,架构组件已移至 androidx.* 命名空间。因此,您应该使用implementation "androidx.lifecycle:lifecycle-extensions:$lifecycleVersion"implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycleVersion"。在撰写本文时,使用$lifecycleVersion='2.0.0-rc1' 将起作用。请注意,这些库是向后兼容的,因此这也适用于 API 兼容性 的应用
    猜你喜欢
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2019-01-22
    • 1970-01-01
    • 2023-04-03
    • 2020-11-09
    • 1970-01-01
    相关资源
    最近更新 更多