Android Studio中Kotlin出现Unresolved reference: viewModel错误求助
解决Unresolved reference: viewModel错误
问题原因
你用到的viewModel<CalculatorViewModel>()是Jetpack Compose专属的ViewModel获取扩展函数,出现未解析引用通常是缺少依赖、未导入正确的包或者使用场景不对导致的。
解决方案
1. 确认添加必要依赖
打开模块级的build.gradle.kts(或build.gradle),检查是否包含以下依赖,没有的话添加进去:
dependencies { // ViewModel核心依赖 implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2" // Compose专用ViewModel扩展依赖(关键) implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2" }
添加后点击Sync Now同步项目。
2. 导入正确的扩展函数
在调用viewModel()的Composable函数所在文件顶部,添加导入语句:
import androidx.lifecycle.viewmodel.compose.viewModel
3. 确认使用场景正确
viewModel()函数只能在Composable函数内部调用。如果是在非Composable代码中(比如Activity的onCreate方法里,未在setContent的Compose代码块内),需要改用ViewModelProvider获取ViewModel:
val viewModel = ViewModelProvider(this)[CalculatorViewModel::class.java]
此时需要导入:
import androidx.lifecycle.ViewModelProvider
内容的提问来源于stack exchange,提问作者Dracu99
相关产品推荐
相关产品推荐

