Vidar Vestnes Vidar Vestnes - 2 months ago 16
Android Question

Close/hide the Android Soft Keyboard

I have an

EditText
and a
Button
in my layout. After writing in the edit field and clicking on the
Button
, 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

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