Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何同时显示Android对话框和键盘_Android_Android Dialog - Fatal编程技术网

如何同时显示Android对话框和键盘

如何同时显示Android对话框和键盘,android,android-dialog,Android,Android Dialog,我试图显示一个带有EditText字段的对话框,用默认值预填充EditText,在EditText中选择all,将焦点指定给EditText,然后自动弹出打开键盘 但是,只要我显示对话框,键盘就会缩回。如果我先显示对话框,键盘将不会显示 我正在用鼠标显示键盘 InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputMethod

我试图显示一个带有EditText字段的对话框,用默认值预填充EditText,在EditText中选择all,将焦点指定给EditText,然后自动弹出打开键盘

但是,只要我显示对话框,键盘就会缩回。如果我先显示对话框,键盘将不会显示

我正在用鼠标显示键盘

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(getView(), 0);

怎么办?

试试这个..在你的对话框设置上写下Howlistener方法。在你的警报对话框之前这样做。show()方法

Dialogname.setOnShowListener(new OnShowListener() {

        public void onShow(DialogInterface dialog) {
            // TODO Auto-generated method stub
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
        }
    });

我试过这个..它对我有用。

试着用这个..在你的对话框设置上写下Sowlistener方法。就像在你的alert Dialog.show()方法之前写的那样

Dialogname.setOnShowListener(new OnShowListener() {

        public void onShow(DialogInterface dialog) {
            // TODO Auto-generated method stub
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
        }
    });

我试过了。它对我有用。

从对话框指南:您可以通过以下代码设置WindowManager.LayoutParams.FLAG\u ALT\u FOCUSABLE\u IM窗口标志(假设您的对话框采用默认输入焦点):
getWindow()(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
,您可以试试这个,我不知道它是否能解决您的问题。显示对话框后,尝试将焦点设置到将自动显示键盘的文本框。这很有效!谢谢-但是为什么不将此作为答案发布,以便我可以检查您?从对话框指南中:您可以通过设置WindowManager.La来完成此操作youtParams.FLAG_ALT_FOCUSABLE_IM窗口标志(假设您的对话框采用输入焦点,因为它是默认设置)和以下代码:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
,您可以试试这个,我不知道它是否能解决您的问题。显示对话框后,尝试将焦点设置到将自动显示键盘的文本框。这很有效!谢谢-但您为什么不将此作为答案发布,以便我检查您?