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

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

具体解决方法如下:

重写dispatchKeyEvent


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


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


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

  1. @Override  
  2. public void onBackPressed() {  
  3.     super.onBackPressed();  
  4. }  
	@Override
	public void onBackPressed() {
		super.onBackPressed();
	}


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

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

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


但是该方法不适用于TabActivity.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值