我有以下结构:
我的问题是每当我从活动 1,2或3转到 SubActivities 并返回活动时,选项菜单停止显示(onCreateOptionsMenu
或onPrepareOptionsMenu
)。我的猜测是,这是因为活动在调用 SubActivities 时停止,然后激活未重新创建(onCreate
未被调用)当我回到他们身边时。
有可能在恢复活动时强制onCreateOptionsMenu
被调用(在onResume
中)吗?
更新
我明白现在发生了什么。问题是选项菜单是从TabActivity
调用的,而不是从它下面的活动调用的。我需要运行活动的onCreateOptionsMenu
/ onPrepareOptionsMenu
而不是TabActivity
。
答案 0 :(得分:0)
我只是在我需要它的每个活动中调用onCreateOptionsMenu然后单独更改onCreateOptionsMenu上的每个活动的上下文以反映senario所以当活动恢复时所以它的onCreateOptionsMenu .....希望有帮助
答案 1 :(得分:0)
解决了我的问题。问题是选项菜单是从TabActivity
调用的,而不是从它下面的活动调用的。我做的是:
在我的TabActivity
:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my_view, menu);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
menu.clear();
inflater.inflate(R.menu.my_view, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
return getCurrentActivity().onMenuItemSelected(featureId, item);
}
在活动中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Do my work in the Activity
}
答案 2 :(得分:0)
我只是在每个活动中使用它我想要菜单选项说如果我在活动1我的菜单选项反映活动2,3当我在活动2我的菜单选项反映1,3等等但在每个有一个菜单的活动,你必须把代码放在这样做,当你在活动之间切换时,你将总是有一个菜单.....它对我有用我不知道它是最好的方式,但它适用于我
答案 3 :(得分:-1)
public boolean onCreateOptionsMenu(Menu menu){ super.onCreateOptionsMenu(菜单);
menu.add (Menu.NONE, 0, Menu.NONE,(""));
menu.add(Menu.NONE, 1, Menu.NONE, (""));
menu.add(Menu.NONE, 2, Menu.NONE,(""));
menu.add(Menu.NONE, 3, Menu.NONE,(""));
menu.add(Menu.NONE, 4, Menu.NONE,(""));
menu.add(Menu.NONE, 5, Menu.NONE,(""));
menu.add(Menu.NONE, 6, Menu.NONE,(""));
menu.add(Menu.NONE, 7, Menu.NONE,(""));
menu.add(Menu.NONE, 8, Menu.NONE,(""));
menu.add(Menu.NONE, 9, Menu.NONE,(""));
return true;
} // end onCreateOptionsMenu()
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
return true;
case 1:
return true;
case 2:
return true;
case 3:
return true;
case 4:
return true;
case 5:
return true;
case 6:
return true;
case 7:
return true;
case 8:
return true;
case 9:
return true;
}
return false;
}
是我使用的...如果这有帮助,可以查看我的问题“在光标中的append.text片段”....我非常绝望地寻求帮助