I\'m making an app with edittext and a button. When I enter something into edittext and then click a button, I want the keyboard and focus on edittext to disappear but I can\'t
First you must disable the keyboard:
void hideKeyboard(Activity activity) {
View view = activity.getCurrentFocus();
InputMethodManager manager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
assert manager != null && view != null;
manager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
Second clear view (Layout, EditText...)focus:
view.clearFocus
another solution is, create a dummy layout
<!-- Dummy item for focus at startup -->
<LinearLayout
android:id="@+id/dummy_id"
android:orientation="vertical"
android:layout_width="0px"
android:layout_height="0px"
android:focusable="true"
android:focusableInTouchMode="true" />
and set the focus in your onButtonClickFunction
((LinearLayout) findViewById(R.id.dummy_id)).requestFocus();
To hide the keyboard call this:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
You can also check this solution: https://stackoverflow.com/a/15587937/786337
InputMethodManager inputManager = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
editText.setText("");
Add the following on your button onclick event
You need to import android.view.inputmethod.InputMethodManager
;
The keyboard hides and clears the text when you click the button.