Android 重写 onKeyUp() 后后退按钮不起作用
Android back button not working after onKeyUp() is overridden
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
...
return false;
}
将上述方法添加到 activity 后,后退按钮将停止工作,但导航栏上的其他两个按钮 - 主页和概览 - 仍然可以正常工作。
有人能解释一下吗?
因为您总是从中返回 false
。它实际上应该是有条件的,在其他情况下,您应该调用 super.onKeyUp(keyCode, event);
示例:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (condition == true){
//do something
return false;
}
return super.onKeyUp(keyCode,event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
...
return false;
}
将上述方法添加到 activity 后,后退按钮将停止工作,但导航栏上的其他两个按钮 - 主页和概览 - 仍然可以正常工作。
有人能解释一下吗?
因为您总是从中返回 false
。它实际上应该是有条件的,在其他情况下,您应该调用 super.onKeyUp(keyCode, event);
示例:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (condition == true){
//do something
return false;
}
return super.onKeyUp(keyCode,event);
}