无法解析符号ViewModelProviders

ash*_*jan 3 android android-viewmodel

我正在研究Android ViewModel架构组件,但在尝试初始化AppCompatActivity中的ViewModel时遇到上述错误.

import android.arch.lifecycle.ViewModelProviders;
ViewModelProviders.of(this).get(CounterViewModel.class);
Run Code Online (Sandbox Code Playgroud)

有一些与此相关的问题和文章,他们指出在app gradle文件中添加lifecycle:extensionslifecycle:viewmodel依赖,但我仍然得到错误.

implementation "android.arch.lifecycle:extensions:1.1.1"
implementation "android.arch.lifecycle:viewmodel:1.1.1"
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
Run Code Online (Sandbox Code Playgroud)

android.arch.lifecycle包不包含类ViewModelProviders,只有ViewModelProvider类.

还需要添加什么才能访问ViewModelProviders课程?

编辑:

app/build.gradle中的依赖项:

dependencies {
    implementation project(':lifecycle')
    implementation project(':base')
    implementation "android.arch.lifecycle:extensions:1.1.1"
    implementation "android.arch.lifecycle:viewmodel:1.1.1"
    annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Com*_*are 11

android.arch.lifecycle:extensions:1.1.1绝对有android.arch.lifecycle.ViewModelProviders.如果打开项目树的"外部库"部分并检查库内容,则可以在Android Studio中看到它:

android.arch.lifecycle:extensions:1.1.1内容

找不到的一些可能原因import包括:

  • 你有implementation "android.arch.lifecycle:extensions:1.1.1"错误的地方(它应该在dependencies模块的build.gradle文件的关闭,如app/build.gradle)

  • 您没有将Android Studio与Gradle构建文件同步(通常会提示您执行此操作,但您可以通过Android Studio主菜单中的文件>带有Gradle文件的同步项目手动执行此操作)