Ответ 1
Возможно, вы захотите попробовать:
InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(editView.getWindowToken(), 0);
Мне нужно уметь скрывать мягкую клавиатуру в ответ на нажатие кнопки. Я видел множество сообщений по этому вопросу, и кажется, что решение заключается в использовании InputMethodManager
, но я не смог заставить его работать для меня. Предположительно следующие скрывают мягкую клавиатуру:
InputMethodManager inputManager = (InputMethodManager)
getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromInputMethod(editView.getWindowToken(), 0);
Однако, это не работает для меня (может ли кто-нибудь подсказывать почему?), и даже если бы это было так, я хочу иметь возможность скрывать клавиатуру, независимо от того, какой вид имеет вход, и я могу не знать, какой вид есть.
Я обнаружил, что вызов:
inputManager.toggleSoftInput(0, 0);
будет скрывать клавиатуру, если она отображается в данный момент. К сожалению, он также покажет его, если он в настоящее время скрыт. Поэтому, чтобы это работало для меня, мне нужен способ определить, в настоящее время он виден.
Любые идеи?
Спасибо
Возможно, вы захотите попробовать:
InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(editView.getWindowToken(), 0);