我的应用程序的主要活动是 TabActivity,它包含一个 OptionsMenu。我定义了一些其他活动(进入选项卡),并且我想在每个活动中定义一个菜单,并将其菜单与主菜单合并。是否可以?
是的,这是可能的。基本上,您只需将多个 xml 文件填充到同一个选项菜单中即可。项目按通货膨胀顺序添加到菜单中。
只需覆盖即可onCreateOptionsMenu(Menu menu)
为您TabActivity
,膨胀包含主要选项的 xml 文件。然后为每个内部选项卡活动覆盖它,从而增加特定于选项卡的选项。只需像平常一样编写它们即可:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.options, menu);
return super.onCreateOptionsMenu(menu);
}
该菜单“属于”当前活动的内部选项卡活动,但要填充它,onCreateOptionsMenu
也会自动调用父活动(通过super
).
然而,奇怪的是,onMenuItemSelected(int featureId, MenuItem item)
不做同样的事情。要处理项目选择,内部选项卡活动仍然必须显式调用父活动上的相应方法(在确定所选选项不是特定于选项卡之后):
return super.onMenuItemSelected(featureId, item)
|| getParent().onMenuItemSelected(featureId, item);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)