显示AlertDialog.Builder创建的带焦点编辑文本的对话框时,是否可以自动显示软键盘?
我看过一些关于这个话题的讨论,但没有找到有效的解决办法。

最佳答案

解决了这个问题

InputMethodManager imm = (InputMethodManager)
            SettingsActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);

    mDialog = mDialogBuilder.create();

    mDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {

        public void onDismiss(DialogInterface dialog) {
            dismissSoftKeyboard();
        }
    });

    mPinDialog.show();
    showSoftKeyboard();

}

private void showSoftKeyboard() {
    if (imm != null) {
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
    }
}

private void dismissSoftKeyboard() {
    if (imm != null) {
        imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0);
    }
}

07-26 03:57