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

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

спасибо

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

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

 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, клавиатура исчезает.