重写了onKeyDown(int keyCode, KeyEvent event) 但是按返回键没反应,去掉onKeyDown(int keyCode, KeyEvent event) 方法就有效了
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK )
{
//为什么重写了此方法返回键就无效了呢
return true;
}
return super.onKeyDown(keyCode, event);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK ) {
// XX 是要从哪返回的view
XX.wv.goBack();
}
上面手误打错了
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK ) {
// XX 是要从哪返回的view
XX.goBack();
}
}
你如果 return true ; 最终结果就是拦截了了所有按键结果,如果你只需要拦截返回键 那么if(keyCode == KeyEvent.KEYCODE_BACK ) {
}内部return true;就可以了,
if (keyCode == KeyEvent.KEYCODE_BACK ){
//为什么重写了此方法返回键就无效了呢
return true;
}
return true:if (keyCode == KeyEvent.KEYCODE_BACK )
{
return true;
}
这个方法里面你可以描述要按下返回键是要做的操作,比如退出当前页面:finish(), 你直接返回true 没有做任何操作 当然没有任何效果
因为返回键在super中有处理,需要自己处理一下