子活动菜单不使用TabActivity

时间:2014-01-11 15:36:38

标签: android menu

我有3个TabActivity(MainActivity)和3个tab的3个活动。(A,B,C活动), 现在我覆盖MainActivity中的onCreateOptionsMenu(菜单菜单)和onOptionsItemSelected(MenuItem项)方法。

当我选择菜单时,调用MainActivity的onOptionsItemSelected(MenuItem项)(它的确定)。 但是onCreateOptionsMenu(菜单菜单)和onOptionsItemSelected(MenuItem项)方法在其他未调用的子活动(A,B,C)中重写。

当用户选择MainActivity的onOptionsItemSelected(MenuItem item)时,如何调用其他子活动(A,B,C)的onOptionsItemSelected(MenuItem item)方法?

我在过去3天内找到了解决此问题的方法。我阅读了与此问题相关的大部分答案,但没有找到解决此问题的方法。 请帮帮我。 看到描述我问题的图像。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以在TabActivity.onOptionsItemSelected中调用getCurrentActivity()。onOptionsItemSelected(item)

但请注意此解决方案,不要在您的子活动中调用super.onOptionsItemSelected(item)。因为超级onOptionsItemSelected将再次调用TabActivity的onOptionsItemSelected。它会引起一个呼叫循环。

MainActivity:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    return getCurrentActivity().onOptionsItemSelected(item);
}

A,B,C活动

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    ...
    return true;
}