Я развиваюсь на Droid Incredible (и тестировал также 1.5 AVD-эмулятор), и одна из вкладок в моем виджетах вкладки состоит из списка и строки с EditText и Отправить (для функции чата). Я использую следующее, чтобы закрыть мягкую клавиатуру после нажатия кнопки «Отправить», но она не работает. Это идентично коду, который я нашел где-то в другом месте, что люди исправлены как правильные.Скрыть мягкую клавиатуру не работает
Просмотреть все, что у меня отсутствует?
// in Button's onClick():
EditText chatTextBox = (EditText) findViewById(R.id.chat_entry);
// Handle button click ...
chatTextBox.setText("");
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(chatTextBox.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
Я также попытался сменить флаг на 0. Не повезло. Кто-нибудь знает, что случилось?
**** EDIT **** Только что понял, что изначально я использовал hideSoftInputFromInputMethod()
вместо hideSoftInputFromWindow()
. Изменение этого не заставило его работать, хотя ...
Если вы покажете клавиатуру с флагом 'SHOW_FORCED'then это указует на то, что пользователь вынужден метод ввода открытым (например, с помощью длительного нажатия меню), поэтому он не должен быть закрыт, пока они явно не сделают. [См. Документацию] (http://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#SHOW_FORCED) –
Если у вас есть ** Принудительная ** показана клавиатура и вы хотите скрыть, используйте следующий код 'InputMethodManager imm = (InputMethodManager) mContext.getSystemService (Context.INPUT_METHOD_SERVICE); \t \t imm.hideSoftInputFromWindow (mEditText.getWindowToken(), 0); ' –