Android onKeyDown监听返回键无效的解决办法

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

具体解决方法如下:

重写dispatchKeyEvent

/**
 * 退出
 */
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
  if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
      && event.getAction() == KeyEvent.ACTION_DOWN
      && event.getRepeatCount() == 0) {
    //具体的操作代码
  }
  return super.dispatchKeyEvent(event);
}

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

@Override
public void onBackPressed() {
  super.onBackPressed();
}

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

/**
 * 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.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

02-06 19:06
查看更多