找不到ViewModelProviders类,只能找到ViewModelProvider

JGu*_*Guo 6 viewmodel kotlin

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

zsm*_*b13 10

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

implementation "android.arch.lifecycle:viewmodel:$lifecycle_version"
Run Code Online (Sandbox Code Playgroud)

它包含ViewModelProvider(和其他4个类),但是ViewModelProviders在不同的包中:

implementation "android.arch.lifecycle:extensions:$lifecycle_version"
Run Code Online (Sandbox Code Playgroud)

以下是这些软件包的内容供参考(从1.1.1版开始):

扩展和viewmodel包的内容


为了记录,你可以通过查找ViewModelProviders课程的文档来自己找到它,它在顶部说:

在1.1.0版中添加

属于Maven artifact android.arch.lifecycle:extensions:1.1.1

  • 使用API​​ 29,架构组件已移至`androidx.*`命名空间.因此你应该使用`implementation'androidx.lifecycle:lifecycle-extensions:$ lifecycleVersion"`和`implementation"androidx.lifecycle:lifecycle-viewmodel:$ lifecycleVersion"`.在撰写本文时,使用`$ lifecycleVersion ='2.0.0-rc1'`将起作用.请注意,libs是向后兼容的,因此这也适用于API兼容性<29的应用程序. (3认同)