You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio添加Login Activity报Cannot resolve symbol 'ViewModelProvider'求助

Android Studio 自带Login Activity ViewModelProvider报错解决方案

第一步:确认模块build.gradle(build.gradle(:app))依赖配置正确

  • 首先移除所有旧的android.arch.lifecycle相关依赖,统一使用AndroidX版本,示例配置如下:
dependencies {
    // lifecycle版本可根据你的compileSdk版本调整为对应稳定版
    def lifecycle_version = "2.6.2"
    implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"
    // Java项目必须添加该依赖,缺失会直接导致ViewModelProvider导入报错
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
    implementation "androidx.activity:activity:1.8.2"
}
  • 依赖配置修改完成后点击右上角「Sync Now」同步项目

第二步:清理缓存并重建项目

依赖配置正确仍报错的情况大多是IDE缓存导致,按顺序执行以下操作即可:

  • 点击顶部菜单栏 Build > Clean Project,等待清理完成
  • 再点击 Build > Rebuild Project 重建项目
  • 如果仍然报错,点击 File > Invalidate Caches...,勾选「Clear file system cache and local history」,点击「Invalidate and Restart」重启Android Studio

第三步:排查代码层面问题

  • 确认所有lifecycle相关import的前缀都是androidx.lifecycle.,没有出现android.arch.lifecycle.开头的导入语句
  • 检查LoginViewModelFactory是否正确实现了ViewModelProvider.Factory接口,正确实现示例如下:
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import androidx.annotation.NonNull;

public class LoginViewModelFactory implements ViewModelProvider.Factory {
    // 如需给ViewModel传参可在此添加构造方法接收参数
    public LoginViewModelFactory() {
    }

    @NonNull
    @Override
    public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
        if (modelClass.isAssignableFrom(LoginViewModel.class)) {
            return (T) new LoginViewModel();
        }
        throw new IllegalArgumentException("Unknown ViewModel class");
    }
}

替代写法

如果上述操作都完成后还是报错,可以改用以下兼容写法获取ViewModel:

loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class);

内容的提问来源于stack exchange,提问作者Francesco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:24:02