在EditText中输入后,如何使键盘消失

时间:2011-01-30 04:52:40

标签: android keyboard android-edittext

来自android教程:

pass_text.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        // If the event is a key-down event on the "enter" button
        if ((event.getAction() == KeyEvent.ACTION_DOWN)
                && (keyCode == KeyEvent.KEYCODE_ENTER)) {
            // Perform action on key press
            return true;
        }
        return false;
        }
    });
}

单击EditText时,框架上会出现一个键盘。在Enter之后我想知道。 除了单击Back,如何从框架中输出键盘。

enter image description here

谢谢

4 个答案:

答案 0 :(得分:27)

尝试以下

活动:

InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(curEditText.getWindowToken(), 0);

如果是Fragment:

InputMethodManager mgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
        mgr.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);

答案 1 :(得分:15)

EditText框提供属性android:imeOptions="actionDone" 这会将Enter按钮更改为关闭键盘的Done按钮。

答案 2 :(得分:1)

摆脱软键盘的一种工作方法是禁用然后在Return-key事件,按钮事件或其他事件中启用TextEdit字段。例如:

....
pass_text.setEnabled(false);
pass_text.setEnabled(true);
....

答案 3 :(得分:0)

我认为我们可以简单地将此属性添加到EditText:

机器人:的inputType ="文本"

这将自动强制文本在一行上,因此当我们单击Enter时,键盘会消失。