按下“返回”键时如何使编辑文本失去焦点?

Joe*_*mov 1 android return lost-focus android-edittext

当我按 'Return' 键时EditText,它会通过变大来创建新行。EditText按下“返回”键时如何失去焦点?换句话说,如何在按下“返回”时让键盘消失?

Chi*_*hod 5

使用以下短代码来获取返回和消失键盘的事件。

(EditText) findViewById(R.id.editText1)).setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (keyCode == 66) {
            hideKeyboard(v);
            return true; //this is required to stop sending key event to parent
        }
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

在上面的代码66中,Return您也可以KeyEvent.KEYCODE_ENTER根据@JJPA 的喜好使用代码。

以下是显式隐藏键盘的代码。

private void hideKeyboard(View view) {
    InputMethodManager manager = (InputMethodManager) view.getContext()
            .getSystemService(INPUT_METHOD_SERVICE);
    if (manager != null)
        manager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
Run Code Online (Sandbox Code Playgroud)