How to hide keyboard on dialog showing?

2019-02-02 05:45发布

问题:

I have a custom dialog with a EditText in it. When the dialog appear the focus is on the EditText, and the soft keyboard is showing. How to avoid this? I tried:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

and

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);

but they don't work for me. I think these don't work for dialog.

回答1:

Have u tried this?I have tested it.It is working.

change

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

To

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);


回答2:

Go to xml layout and reach the main layout and put the following

 android:focusable="true"
 android:focusableInTouchMode="true"