Vidar Vestnes Vidar Vestnes - 10 months ago 58
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?


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).