Vidar Vestnes Vidar Vestnes - 1 year ago 62
Android Question

Close/hide the Android Soft Keyboard

I have an

and a
in my layout. After writing in the edit field and clicking on the
, I want to hide the virtual keyboard. I assume that there's a simple, one or two-liner to make this happen. Where can I find an example of it?

Answer Source

You can force Android to hide the virtual keyboard using the InputMethodManager, calling hideSoftInputFromWindow, passing in the token of the window containing your focused view.

// Check if no view has focus:
View view = this.getCurrentFocus();
if (view != null) {  
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

This will force the keyboard to be hidden in all situations. In some cases you will want to pass in InputMethodManager.HIDE_IMPLICIT_ONLY as the second parameter to ensure you only hide the keyboard when the user didn't explicitly force it to appear (by holding down menu).