在虚拟键盘弹出时点击返回键仅会收起弹出的键盘 ,如果在这时希望能够在收起键盘的同时响应一些其他动作,需要重写相应输入框(例如EditText)的dispatchKeyEventPreIme方法。
public class MyEditText extends AppCompatEditText { ... @Override public boolean dispatchKeyEventPreIme(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { ((Activity)this.getContext()).onBackPressed(); return true; } return super.dispatchKeyEventPreIme(event); } }