无法解析符号 ViewModelProviders
Cannot resolve symbol ViewModelProviders
我正在研究 Android ViewModel 架构组件,但在 AppCompatActivity 中尝试初始化 ViewModel 时出现上述错误。
import android.arch.lifecycle.ViewModelProviders;
ViewModelProviders.of(this).get(CounterViewModel.class);
有一些与此相关的问题和文章,他们指出在应用 gradle 文件中添加 lifecycle:extensions
和 lifecycle: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"
包 android.arch.lifecycle 不包含 class ViewModelProviders
而它只有 ViewModelProvider
class.
还需要添加什么才能访问 ViewModelProviders
class?
编辑:
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"
}
android.arch.lifecycle:extensions:1.1.1
肯定有android.arch.lifecycle.ViewModelProviders
。如果您打开项目树的 "External Libraries" 部分并检查库内容,您可以在 Android Studio 中看到它:
找不到 import
的一些可能原因包括:
你的implementation "android.arch.lifecycle:extensions:1.1.1"
放错地方了(应该在模块的build.gradle
文件的dependencies
闭包里,比如app/build.gradle
)
您没有将 Android Studio 与 Gradle 构建文件同步(通常会提示您执行此操作,但您可以通过文件 > 与项目同步来手动执行此操作Gradle 来自 Android Studio 主菜单的文件)
如果在库中配置,可以将implementation
修改为api
您的 build.gradle 文件中不需要 lifecycle:extensions
和 lifecycle:viewmodel
,删除
implementation "android.arch.lifecycle:viewmodel:1.1.1"
现在应该没问题了。此外,您可能希望迁移到 AndroidX 并使用 2.0.0 版本的库。
ViewModelProviders
现已弃用。请改用 ViewModelProvider
。
我正在研究 Android ViewModel 架构组件,但在 AppCompatActivity 中尝试初始化 ViewModel 时出现上述错误。
import android.arch.lifecycle.ViewModelProviders;
ViewModelProviders.of(this).get(CounterViewModel.class);
有一些与此相关的问题和文章,他们指出在应用 gradle 文件中添加 lifecycle:extensions
和 lifecycle: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"
包 android.arch.lifecycle 不包含 class ViewModelProviders
而它只有 ViewModelProvider
class.
还需要添加什么才能访问 ViewModelProviders
class?
编辑:
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"
}
android.arch.lifecycle:extensions:1.1.1
肯定有android.arch.lifecycle.ViewModelProviders
。如果您打开项目树的 "External Libraries" 部分并检查库内容,您可以在 Android Studio 中看到它:
找不到 import
的一些可能原因包括:
你的
implementation "android.arch.lifecycle:extensions:1.1.1"
放错地方了(应该在模块的build.gradle
文件的dependencies
闭包里,比如app/build.gradle
)您没有将 Android Studio 与 Gradle 构建文件同步(通常会提示您执行此操作,但您可以通过文件 > 与项目同步来手动执行此操作Gradle 来自 Android Studio 主菜单的文件)
如果在库中配置,可以将implementation
修改为api
您的 build.gradle 文件中不需要 lifecycle:extensions
和 lifecycle:viewmodel
,删除
implementation "android.arch.lifecycle:viewmodel:1.1.1"
现在应该没问题了。此外,您可能希望迁移到 AndroidX 并使用 2.0.0 版本的库。
ViewModelProviders
现已弃用。请改用 ViewModelProvider
。