首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

TabActivity子类中处置返回键事件

2012-09-27 
TabActivity子类中处理返回键事件最近使用TabActivity,按下返回键却发现onKeyDown方法根本没有被调用,Goog

TabActivity子类中处理返回键事件

最近使用TabActivity,按下返回键却发现onKeyDown方法根本没有被调用,Google之,有人说需要在每个子Activity中实现相应的监听,无奈过于麻烦。

  1. @Override?public?boolean?onKeyDown(int?keyCode,?KeyEvent?event)?{?
  2. ????if?(keyCode?==?KeyEvent.KEYCODE_BACK)?{?????????exit();?
  3. ????????return?true;?????}?
  4. ????return?super.onKeyDown(keyCode,?event);?}?

?具体的原因没有去深究,最后找到了解决的方法,参考:http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html

在dispatchKeyEvent中处理Key事件,注意没有处理的键最后要调用super.dispatchKeyEvent(event);以免其他键得不到系统处理,代码如下:

  1. @Override?public?boolean?dispatchKeyEvent(KeyEvent?event)?{?
  2. ????if?(event.getKeyCode()?==?KeyEvent.KEYCODE_BACK)?{?????????if?(event.getAction()?==?KeyEvent.ACTION_DOWN?
  3. ????????????????&&?event.getRepeatCount()?==?0)?{?????????????exit();?
  4. ????????????return?true;?????????}?
  5. ????}?????return?super.dispatchKeyEvent(event);?
  6. }?

?

本文出自 “超越梦想” 博客,请务必保留此出处http://breezy.blog.51cto.com/2400264/612709

热点排行