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

Android Material3 SearchBar菜单项点击事件无法触发求助

解决Material3 SearchBar菜单项点击无响应的问题

问题根源:通过app:menu给SearchBar绑定的菜单,不属于Activity的选项菜单体系,因此Activity的onCreateOptionsMenu和onOptionsItemSelected方法无法捕获它的点击事件,需要直接为SearchBar的菜单设置专属监听。

实现步骤

  1. 在Activity中获取SearchBar实例
  2. 调用setOnMenuItemClickListener为其菜单绑定点击逻辑

示例代码:

// 在Activity的onCreate方法中执行
SearchBar searchBar = findViewById(R.id.search_bar);
searchBar.setOnMenuItemClickListener(item -> {
    int itemId = item.getItemId();
    if (itemId == R.id.user_account) {
        Toast.makeText(this, "success", Toast.LENGTH_SHORT).show();
        return true;
    }
    return false;
});

补充说明

如果需要动态修改菜单内容(比如添加/移除菜单项、修改状态),直接操作SearchBar的getMenu()对象即可,无需依赖Activity的选项菜单生命周期方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:17:33