问题
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"
来源:https://stackoverflow.com/questions/17362273/how-to-hide-keyboard-on-dialog-showing