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

Google Developers Jetpack Compose教程代码在Android Studio中报错求助

修复Jetpack Compose可组合函数调用错误的基础方案
  • 先排查可组合函数调用的核心规则问题
    带@Composable注解的函数,只能在以下场景调用:

    1. 另一个标注了@Composable的函数内部
    2. 可组合lambda表达式中(比如Column、Row的content参数块)
    3. 标注了@Composable的属性getter方法内
      若你的代码把可组合函数放在普通无注解函数、非可组合逻辑块里,就会触发composable invocations相关错误。
  • 检查代码注解与结构

    1. 确认调用可组合函数的外层函数都添加了@Composable注解,示例:
      // 正确写法
      @Composable
      fun HomeScreen() {
          Column {
              Text("Jetpack Compose Demo")
          }
      }
      
    2. 禁止在setContent块之外调用可组合函数,setContent本身是可组合lambda,只有在它内部或其他可组合上下文中才能调用Compose API。
  • 新手快速排查步骤

    1. 将报错代码块移动到带@Composable注解的函数内部
    2. 检查是否把可组合函数放在if/for等逻辑块的非可组合上下文里
    3. 核对项目依赖版本与课程一致,打开Module级build.gradle,确认Compose相关依赖版本匹配:
      implementation "androidx.compose.ui:ui:1.6.0"
      implementation "androidx.compose.material3:material3:1.2.0"
      

若能描述图片里的具体错误提示(比如"@Composable invocations can only happen from the context of a @Composable function"),可以更精准定位问题,但先按上述基础规则排查,大部分新手的问题都源于违反可组合函数的调用上下文要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:42:05