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

自定义Toolbar配置后出现旧ActionBar条目,如何清除?

解决自定义Toolbar显示旧ActionBar菜单条目的问题

嗨,这个问题我做项目的时候也碰到过,本质是调用setSupportActionBar(toolbar)后,系统会默认沿用当前Activity(或它的父类,比如你的MainActivity)里已有的菜单配置,咱们可以通过这几种方式解决:

方法一:彻底清空所有旧菜单条目

直接在当前Activity中重写onCreateOptionsMenu方法,不加载任何菜单内容,就能完全清除旧的ActionBar条目:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // 不加载任何菜单,返回true保证Toolbar的布局结构正常保留
    return true;
}

如果你的Activity继承自MainActivity,而MainActivity里实现了onCreateOptionsMenu,这个重写会直接覆盖父类的菜单加载逻辑,旧条目自然就不会显示了。

方法二:移除指定的旧菜单条目

如果只是想清除部分旧条目、保留其他菜单,可以在重写的onCreateOptionsMenu里定位对应条目并移除:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // 先加载父类的菜单(如果需要保留部分内容)
    super.onCreateOptionsMenu(menu);
    // 替换成你要清除的旧菜单条目的ID
    menu.removeItem(R.id.your_old_menu_item_id);
    return true;
}

额外小检查

另外别忘了看看你的Toolbar布局文件里有没有通过app:menu属性绑定了旧的菜单资源,如果有的话,直接去掉这个属性也能解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:40:38