3

我有 Activity A 和 TabHost。我的 TabHost 有 2 个标签。第一个选项卡有活动 B,第二个选项卡有活动 C。

在此处输入图像描述

活动 A 有一个菜单。活动 B 和 C 没有任何菜单。当我点击 Activity AI 可以打开它的菜单,但是当我点击其中一个选项卡时,A 的菜单没有显示。这意味着活动 B 或 C 已激活,我无权访问 A 的菜单。

当它有这个 TabHost 时,我怎样才能访问 A 的菜单或其他资源?

4

2 回答 2

5

在您的选项卡式活动中尝试此代码:

@Override public boolean onCreateOptionsMenu(Menu menu) {
    if(getParent() != null) {
        return getParent().onCreateOptionsMenu(menu);
    }
}

所以基本上你的选项卡式活动会将选项菜单请求“重定向”到主机。

于 2012-09-10T17:07:33.303 回答
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);       
}
于 2012-09-13T06:03:29.423 回答