我有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天内找到了解决此问题的方法。我阅读了与此问题相关的大部分答案,但没有找到解决此问题的方法。 请帮帮我。 看到描述我问题的图像。
答案 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;
}