Можно ли спрятать клавиатуру с помощью кнопки? - PullRequest
1 голос
/ 11 марта 2012

В моем приложении у меня есть система вкладок, а в одном из макетов вкладок есть EditText.

enter image description here

А если перейти на другую вкладку, клавиатура остается включенной.

enter image description here

Итак, я добавил кнопку, которая бы скрывала это:

enter image description here

Так как мне настроить Button на закрытие клавиатуры? Также было бы очень полезно, если бы клавиатура исчезала при переключении вкладок.

Ответы [ 3 ]

2 голосов
/ 11 марта 2012
private void hideKeyboard() {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(getTabHost().getApplicationWindowToken(), 0);
}

Этот метод скрывает клавиатуру. Работает в случае вкладки. Просто установите на каждой вкладке один и тот же OnClickListener, который вызывает hideKeyboard ().

0 голосов
/ 11 марта 2012
    InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

добавить их к событию, когда вы хотите скрыть программную клавиатуру ...

0 голосов
/ 11 марта 2012

Что я сделал в своем приложении, так это попробовал и не использовал кнопку, чтобы закрыть экранную клавиатуру, потому что я уже использую кнопку вместо кнопки Готово, которая называется Del, которая очищает поле EditText. То, что я сделал, при первом нажатии EditText показывает клавиатуру, а при втором нажатии просто скрывает ее.

Попробуйте использовать это в функции обратного вызова onClick для EditText, ИЛИ, если вы хотите сохранить кнопку Submit, добавьте ее в прослушиватель onClick и для каждой вкладки, которая у вас есть.

InputMethodManager keyboard = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

Надеюсь, это поможет, ура.

...