Reputation: 172
I need to hide the soft keyboard in response to clicking a button. I saw some posts about this, and I tried it with:
InputMethodManager im = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(myEditText1.getWindowToken(), 0);
That worked well. But now I have two EditText views. How can I now hide the soft keyboard, no matter wich EditText is selected? I tried it also with
InputMethodManager im = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(myEditText1.getWindowToken(), 0);
im.hideSoftInputFromWindow(myEditText2.getWindowToken(), 0);
, but that didn't worked...
Thanks for your help!
EDIT: Found solution. Posted below.
Upvotes: 2
Views: 4643
Reputation: 467
Simply you dont need to point specific view. Im using this and works :)
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
Upvotes: 6
Reputation: 172
A solution is to not get the window token from the EditText, but from the buton wich hides the keyboard itselfs:
InputMethodManager im = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(hideKeyboardButton.getWindowToken(), 0);
Upvotes: 2
Reputation: 1285
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
You can "play" with the parameter to achieve whatever you want. Hope this helped!
Upvotes: 1