Menu 菜单基本创建 以及无法弹出问题
来源:互联网 发布:win7网络发现自动关闭 编辑:程序博客网 时间:2024/04/29 06:13
在Activity 中创建Menu菜单的基本步奏方法很简单:重写Activity onCreateOptionsMenu(Menu menu) 方法载入布局文件,并且返回true(注意:必须的返回true,否则系统不知道你是否需要创建Menu菜单),然后在 onOptionsItemSelected(MenuItem item) 监听执行即可。
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {Log.d(TAG, "into onCreateOptionsMenu()");getMenuInflater().inflate(R.menu.activity_main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {Log.d(TAG, "into onOptionsItemSelected()");switch (item.getItemId()) {case R.id.menu_normal:if(playMode==PlayMode.NORMAL){return true;}playMode = PlayMode.NORMAL;changePlayMode(playMode);timerView.stopTimer();return true;case R.id.menu_time:if(playMode==PlayMode.TIME){return true;}playMode =PlayMode.TIME;changePlayMode(playMode);return true;case R.id.menu_set:WSDialog.getInstance(this).createMutilDialog();return true;case R.id.menu_net_play:goUsersListActivity();return true;}return super.onOptionsItemSelected(item);}
但是,有时候会出现Menu菜单显示不了的情况,目前自己发现的原因有两个,希望大家多多指教:
1.如上所说,在onCreateOptionsMenu(Menu menu) 没有返回true
2.Activity重写onKeyDown()方法监听按键响应;
@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK&& event.getAction() == KeyEvent.ACTION_DOWN) {Log.d(TAG, "into onKeyDown()");//应用程序退出,发出下线通知netThreadHelper.noticeOffline();netThreadHelper.disconnectSocket();this.finish();System.exit(0);Log.d(TAG, "out onKeyDown()");return true;}return true;}
方法返回true,系统就不会处理Menu 按键,自然就会没有反应。所以,根据android事件处理机制,应该调用系统的方法,将红色部分代码改为:
return super.onKeyDown(keyCode, event);即可
- Menu 菜单基本创建 以及无法弹出问题
- Flex创建弹出菜单(PopUpButton/Menu/PopMenuButton)
- android menu的使用(Menu无法弹出问题)
- 弹出菜单Menu
- 第三篇:menu菜单的创建以及使用
- 动态创建Menu 菜单
- Android 创建菜单Menu
- 创建菜单Menu
- Android创建菜单Menu
- Menu创建菜单
- Android 弹出系统menu菜单
- Fragment Menu键弹出菜单
- 使用Menu制作弹出菜单
- 解决SlidingMenu滑动Menu无法关闭菜单的问题
- Toolbar 设置 menu 背景色、字体颜色以及弹出菜单不悬浮
- Android基本之Menu菜单
- 创建菜单(Menu Item)
- cocos2d - JS 创建(菜单)Menu
- Linux 下修改文件的访问时间和修改时间属性
- cocos2d-x屏幕适配
- Android中的Handler总结
- ASP.NET Post页面及验证视图状态MAC失败问题的正确解决办法
- struts2.1-annotation
- Menu 菜单基本创建 以及无法弹出问题
- <TABLE>的边线
- 手机网站制作注意事项
- 黑马程序员-Java多线程
- google 将推出最新版的地图
- Makefile解读
- entityframework-Validation failed for one or more entities. See ‘EntityValidationErrors’解决方法
- IOS开发 发布APP应用日志
- Shell的字符串处理