Android Studio中Overload resolution ambiguity错误问题求助
Compose Text组件重载解析歧义问题解决
你遇到的Overload resolution ambiguity错误,本质是androidx.compose.material3包中存在两个签名高度重合的Text函数,编译器无法确定你要调用哪一个。
两个函数的核心差异仅在于onTextLayout参数:
- 第一个函数的
onTextLayout是可空函数类型:((TextLayoutResult) → Unit)?,带默认值 - 第二个函数的
onTextLayout是非空函数类型:(TextLayoutResult) → Unit,同样带默认值
当你调用Text时未显式指定onTextLayout参数,编译器无法区分匹配的重载,因此抛出歧义错误。
解决方法:
- 显式指定
onTextLayout参数:哪怕传入默认值,比如onTextLayout = null或onTextLayout = {},让编译器明确匹配目标函数 - 升级Compose Material3依赖:这种重复重载属于版本bug,升级到最新稳定版后官方通常会修复该问题
- 统一依赖版本:检查项目中是否引入了多个版本的Compose Material3依赖,确保依赖版本一致
内容的提问来源于stack exchange,提问作者Monicah Odipo
相关产品推荐
相关产品推荐

