在首次使用Toolbar的时候,按照AndroidStudio自动生成的代码在加载toolbar,如下
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
此时在toolbar右侧显示的menu是程序默认的menu,当我想重新定义一个新的menu,在menu文件夹里新建了一个toolbar.xml文件,然后用
inflateMenu()方法
重新加载菜单,如下
android.support.v7.widget.Toolbar toolbar=(android.support.v7.widget.Toolbar)findViewById(R.id.toolbar); toolbar.setNavigationIcon(R.mipmap.back); toolbar.inflateMenu(R.menu.toolbar_menu);//加载自定义menu setSupportActionBar(toolbar);此时运行程序发现menu没有加载成功
然后尝试为toolbar添加监听器setOnMenuItemClickListener(),但尝试之后依然没有效果。
在查阅资料之后,有人说要添加监听器的同时注释掉setSupportActionBar(toolbar),于是在注释掉setSupportActionBar(toolbar)之后再次尝试,发小自定义的menu
成功加载。
随后又尝试注释掉监听器,发现依然可以成功加载。
结论:加载的关键是不能使用setSupportActionBar。