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

Jetpack Compose集成ViewModel时找不到ViewModel类无法继承问题求助

Jetpack Compose集成ViewModel找不到类解决方案

问题原因

你的当前依赖配置中缺少ViewModel核心库,以及Compose与ViewModel交互的扩展库,因此无法识别ViewModel类,也无法完成继承操作。

修复步骤

  1. 补充依赖配置
    在app模块的build.gradle文件的dependencies代码块中,添加以下依赖:
// ViewModel核心依赖
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2"
// Compose获取ViewModel的扩展依赖
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2"

提示:可以将上述版本替换为和你现有lifecycle-runtime-ktx匹配的版本,避免版本兼容问题。同时建议你将现有过老的runtime-livedata:1.0.0-alpha07升级到和compose_version匹配的正式版本,减少兼容异常。
2. 导入正确的ViewModel包
自定义ViewModel类时,导入官方包路径:

import androidx.lifecycle.ViewModel
  1. Compose中使用示例
// 自定义ViewModel
class CustomViewModel : ViewModel() {
    // 此处编写业务逻辑,比如状态存储、数据请求等
}

// Compose页面中获取ViewModel实例
@Composable
fun AppMainScreen(viewModel: CustomViewModel = viewModel()) {
    // 此处编写页面UI逻辑,直接使用viewModel中的状态和方法
}

额外注意事项

  • 如果你的Compose是写在Fragment中,可额外引入androidx.fragment:fragment-ktx对应版本依赖,保证ViewModel生命周期绑定正确
  • 所有lifecycle相关的依赖版本尽量保持统一,避免出现类找不到或者方法不匹配的异常

内容的提问来源于stack exchange,提问作者Vishwanath S Kumbar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:54:05