来自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,如何从框架中输出键盘。
谢谢
答案 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时,键盘会消失。