@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
System.out.println("按下了back键 onKeyDown()");
popupWindow.dismiss();
finish();
return true;
}else {
return super.onKeyDown(keyCode, event);
}
}
弹出popupwindow后,里面有EditText,并弹出键盘, 点击返回后Activity无法finish掉
原因是:点击返回键的时候,键盘首先消费了返回事件,再点击返回键的时候,是popupwindow消费了返回事件,最后才是activity消费返回事件,
所以需要重写onKeyDown 方法。