Скрыть мягкую клавиатуру

Мне нужно уметь скрывать мягкую клавиатуру в ответ на нажатие кнопки. Я видел многочисленные сообщения по этому вопросу, и кажется, что решение заключается в использовании 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);