[英]How to close SoftInputKeyboard before alert dialog dismiss
我在alertDialog中有一個editText。 當我在alertDialog外部單擊時,它將關閉。 但是鍵盤並沒有被解雇。 我將焦點更改偵聽器設置為“編輯文本”,如果要檢查edittext是否沒有焦點,請關閉鍵盤。
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
setClearIconVisible(isNotEmpty(getText()));
mInputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
} else {
setClearIconVisible(false);
mInputMethodManager.hideSoftInputFromWindow(this.getWindowToken(), 0);
}
}
但是,當我點擊對話框外部以將其關閉時。 onFocusChange的else部分中的代碼甚至都沒有命中。 有人可以幫忙嗎?
您可以在取消對話框時設置onCancel偵聽器
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// hide softkeyboard
}
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.