簡體   English   中英

如何在警報對話框關閉之前關閉SoftInputKeyboard

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM