Android项目点击系统菜单项失效
来源:互联网 发布:淘宝买家信誉怎么查询 编辑:程序博客网 时间:2024/06/05 08:47
今天在做一个小的Android案例,需要使用系统菜单键来进行一些的相关的设置,但是吧,在小案例做完之后,发现系统菜单无论如何点击都没有效果(系统菜单列表不显示)。
系统菜单的设置及点击事件的响应代码如下:(写出来是为了让大家看一下这一坨代码是没有问题的)
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// 四个参数的含义:组,id编号,出现顺序,显示名称// 更换聊天背景的系统菜单按钮menu.add(1, 1, 1, "聊天背景");// 注销登陆的系统菜单menu.add(2, 2, 5, "退出");return super.onCreateOptionsMenu(menu);}// 菜单项的单击事件@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {// 1就是点击更改聊天背景按键case 1:// StartActivityForResult 启动一个新的Activity并得到它的回传值Intent intent = new Intent(ChatActivity.this,ChangeBgActivity.class);startActivityForResult(intent, 1994);break;// 2就是点击退出的按键case 2://点击退出后,弹出提示框AlertDialog.Builder builder=new AlertDialog.Builder(ChatActivity.this);builder.setTitle("提示").setMessage("确定注销登陆?").setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 注销当前登陆,返回到登陆界面(清除原偏好设置内的登陆信息)editor.putString("User", "null");editor.commit();Intent i=new Intent(ChatActivity.this,MainActivity.class);startActivity(i);finish();}}).setNegativeButton("取消", null).create().show();break;}return true;}
然而吧,点击就是没有反应,也是醉了。。。
后来呢,我又发现了它~一个隐藏的挺深的家伙:
//按两次返回键,退出登录private long lastTime=new Date().getTime();@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode==KeyEvent.KEYCODE_BACK) {if (System.currentTimeMillis()-lastTime<1000) {finish();}else {lastTime=System.currentTimeMillis();Toast.makeText(ChatActivity.this, "再按一次返回键退出应用~", Toast.LENGTH_LONG).show();}}return true;}
上面一段代码的用意大家都很明白的,无非就是设置两次返回键后退出 当前应用,关键就在于 return true ; 这句话上,它表示点击后把菜单键的点击事件消费掉,不再让其往上进行传递,而也就是在这里,阻止了系统菜单键的点击生效。
于是乎,把两次返回键退出登录代码段中的返回值改为false后,系统菜单的点击事件也就可以正常的使用了。
今天北京的天气非常的冷,一碗热热的鸡汤奉上。 任何的时候,都别轻易难过。该来的总会来,但是没有永远过不去的坎,只要你努力了,把自己变得更好,那其他的一切也就不用担心了,他们自然也会变得更好。 送给在寒冬中,依然努力奋斗的我们。
0 0
- Android项目点击系统菜单项失效
- android ListView 点击事件失效
- Android 创建菜单、打开不同的菜单、菜单项点击事件
- android button 在点击之后setPress失效
- android listview item点击失效问题
- Android里ListView的onItemClickListener点击失效
- Android ListView的item点击失效解决办法
- Android ListView的Item点击失效问题
- Android ListView item点击失效问题
- Android ListView的onItemClick点击失效
- android viewpager 轮播图点击事件失效
- Android控件点击监听事件失效
- session失效之后重新登录,点击失效之前的菜单依旧返回登录页面
- session失效之后重新登录,点击失效之前的菜单依旧返回登录页面
- Android ListView点击item 显示隐匿菜单项
- Android 应用菜单项点击没反应的问题
- eclipse右键点击项目弹不出菜单
- Android点击MENU弹出的退出按钮退出系统方法及拦截MENU弹出菜单方法
- RESTful的接口测试-RESTClient
- memcached测试是否成功
- codevs 1051[NOI 2002]银河英雄传说
- 计算两个long型时间差
- UpdateLayeredWindow和SetLayeredWindowAttributes
- Android项目点击系统菜单项失效
- 使用Myeclipse自带Tomcat在JSP中访问数据库
- iOS项目开发实例
- cf Educational Codeforces Round 6 C Pearls in a Row
- iOS分析UI利器—Reveal及简单破解方法(最新版)
- MySql—Linux下安装MySql
- css
- 卡尔曼滤波器学习之一最小二乘法
- html5