我有一个扩展Activity的BaseActivity类,我有
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// draw menu stuff
}
然后我有其他扩展BaseActivity的类,例如
HelpActivity扩展了活动
我认为根据继承规则,它会自动继承BaseActivty的onCreateOptionMenu调用。它没有,所以我不确定为什么。
但无论如何,在HelpActivity中我添加了这个:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
并且它们也不起作用(即Galaxy Nexus上没有显示菜单)。所以我将BaseActivity的onCreateOptionsMenu调用复制并粘贴到HelpActivity中,这样就可以了。为什么会这样?
编辑: 两个笔记: 当我说它不起作用时,我的意思是:我有一个Galaxy Nexus,而且菜单甚至没有显示在ActionBar(ActionBarSherlock)上。当它工作时,我得到菜单,包括菜单省略号。
其次:
根据Android文档:
提示:如果您的应用程序包含多个活动及其中一些活动 提供相同的选项菜单,考虑创建一个活动 除了onCreateOptionsMenu()和之外什么都不做 onOptionsItemSelected()方法。然后为每个扩展此类 应共享相同选项菜单的活动。这样,你有 仅管理一组用于处理菜单操作和每个操作的代码 后代类继承了菜单行为。
答案 0 :(得分:1)
根据您粘贴的内容,HelpActivity
未展开BaseActivity
HelpActivity extends Activity