После ввода типа EditText, как заставить клавиатуру исчезнуть

Из учебника по андроиде:

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. Как сделать клавиатуру из рамки, кроме как нажать «Назад».

Введите описание изображения здесь

спасибо

Solutions Collecting From Web of "После ввода типа EditText, как заставить клавиатуру исчезнуть"

Попробуйте следующее

Для деятельности:

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

В случае фрагмента:

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

Дайте поле EditText вас есть атрибут android:imeOptions="actionDone" это изменит кнопку Enter на кнопку Готово, которая закроет клавиатуру.

Рабочий подход, чтобы избавиться от мягкой клавиатуры, – это отключить, а затем включить поле TextEdit в событии Return-key, событии нажатия кнопки или что-то еще. Например:

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

Я думаю, мы можем просто добавить этот атрибут в наш EditText:

Android: inputType = "текст"

Это автоматически заставит текст находиться на одной строке, поэтому, когда мы нажимаем Enter, клавиатура исчезает.