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

为何出现menu类型不匹配与override错误?代码无法运行求助

问题修复方案

1. 解决override不匹配错误

你的onCreateOptionsMenu函数签名不符合Android标准重写规则,正确的签名必须严格匹配系统定义的方法:

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    // 菜单加载逻辑写在这里
    return super.onCreateOptionsMenu(menu)
}

需要确认两点:

  • 函数前必须加override关键字,否则系统无法识别这是重写父类方法
  • 参数类型必须是Menu,返回值必须是Boolean,不能随意修改

2. 解决菜单加载的类型不匹配错误

错误提示的核心是你调用menuInflater.inflate()时传错了参数。inflate方法的第二个参数要求传入目标Menu对象,而不是上下文(比如this)。正确写法是:

menuInflater.inflate(R.menu.你的菜单文件名, menu)

把第二个参数替换成函数传入的menu对象即可。

完整可运行示例

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    menuInflater.inflate(R.menu.main_menu, menu)
    return true // 若需保留父类默认逻辑,可返回super.onCreateOptionsMenu(menu)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 04:54:25