重写 onCreateOptionsMenu(Menu menu) 方法,却不执行。

yu111 2012-03-22 11:04:16

public class MapTestActivity extends MapActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

/**
* 生成Menu菜单
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
System.out.println("-------------------------");
menu.add(0, 1, 1, "关于");
menu.add(0, 2, 2, "退出");
return super.onCreateOptionsMenu(menu);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
System.out.println("********************");
super.onCreateContextMenu(menu, v, menuInfo);
}
}

我重写的 public boolean onCreateOptionsMenu(Menu menu)和public void onCreateContextMenu
都不执行。这到底是为什么?
我也用xml 的形式写过。也不行。反正就是不进入这个方法。
...全文
2054 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yufenghyc 2014-11-08
  • 打赏
  • 举报
回复
我他妈的SB为此郁闷了一上午!只因为没有用Menu来触发它。
雾凇 2014-02-13
  • 打赏
  • 举报
回复
太感谢楼主了
Carldhu 2012-08-19
  • 打赏
  • 举报
回复
这位哥,我知你讲的情况,而不是他们说的那种,我遇到这样的情况,具体搞了很久我才发现某些重写的方法返回值影响他的执行的, @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub

if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
dialog();
return true;
}
return false; //here
}
我是因为 //here那里返回true才不能执行onCreateOptionsMenu里的方法的
summersrest 2012-03-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mazejia 的回复:]
兄台,你得按menu键啊,你不按它触发不了onCreateOptionsMenu方法的,按下menu键就触发了。那个方法也是一样的,你得有相应的事件才能触发方法。不是一进来就执行。
[/Quote]
+++
筱筱_33 2012-03-22
  • 打赏
  • 举报
回复
兄台,你得按menu键啊,你不按它触发不了onCreateOptionsMenu方法的,按下menu键就触发了。那个方法也是一样的,你得有相应的事件才能触发方法。不是一进来就执行。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧