我有活动A和TabHost。我的TabHost有2个标签。第一个选项卡包含活动B,第二个选项卡包含活动C.
活动A有一个菜单。活动B和C没有任何菜单。 当我点击活动A时,我可以打开它的菜单但是当我点击其中一个标签时,A的菜单没有显示。这意味着活动B或C已激活,我无法访问A菜单。
如果有这个TabHost,我怎样才能访问A的菜单或其他资源?
答案 0 :(得分:5)
在标签式活动中试用此代码:
@Override public boolean onCreateOptionsMenu(Menu menu) {
if(getParent() != null) {
return getParent().onCreateOptionsMenu(menu);
}
}
所以基本上你的选项卡式活动会将选项菜单请求“重定向”给主持人。
答案 1 :(得分:0)
你可以将Acrivity A的菜单放入Acitvity B ...
为此你应该将活动A的对象声明为活动B ......如下所示......
public static ActivityA a = null;
并在活动B中声明 onMenuItemSelected()方法,如此处所示....
public boolean onMenuItemSelected(int featureId, MenuItem item) {
return a.onMenuItemSelected(featureId, item);
}