Android初级教程_onKeyDown监听返回键无效

来源:互联网 发布:最便宜的淘宝网 编辑:程序博客网 时间:2024/05/16 15:00

当我们的Activity继承了TabActivity,在该类中重写onKeyDown是监听不到返回键的,

具体解决方法如下:

重写dispatchKeyEvent


[java] view plaincopy
  1. /** 
  2.  * 退出 
  3.  */  
  4. @Override  
  5. public boolean dispatchKeyEvent(KeyEvent event) {  
  6.     if (event.getKeyCode() == KeyEvent.KEYCODE_BACK  
  7.             && event.getAction() == KeyEvent.ACTION_DOWN  
  8.             && event.getRepeatCount() == 0) {             
  9.         //具体的操作代码  
  10.     }  
  11.     return super.dispatchKeyEvent(event);  
  12. }  


---------------------------------------------------------------后续2012-8-23-----------------------------------------


如果仅仅是监听某个Activity的后退键,只需要覆写该方法即可.

[html] view plaincopy
  1. @Override  
  2. public void onBackPressed() {  
  3.     super.onBackPressed();  
  4. }  


我们可以看看super.onBackPressed()方法默认的实现:

[html] view plaincopy
  1. /**  
  2.  * Called when the activity has detected the user's press of the back  
  3.  * key.  The default implementation simply finishes the current activity,  
  4.  * but you can override this to do whatever you want.  
  5.  */  
  6. public void onBackPressed() {  
  7.     finish();  
  8. }  

如果想屏蔽后退键只需要把super.onBackPressed()方法注释即可


但是该方法不适用于TabActivity.
0 0