相关疑难解决方法(0)

Android:焦点在EditText上时自动显示软键盘

我正在使用输入框AlertDialog.在EditText该对话框中本身自动对焦,当我打电话AlertDialog.show(),但软键盘未自动显示.

如何在显示对话框时自动显示软键盘?(并且没有物理/硬件键盘).与按下"搜索"按钮调用全局搜索的方式类似,将自动显示软键盘.

keyboard android soft-keyboard android-edittext

328
推荐指数
12
解决办法
29万
查看次数

AlertDialog - 显示带有自定义类的软键盘不起作用

我的问题是我的自定义 alertdialog 类没有正确显示软键盘。我正在使用

SettingsDialog settingsDialog = new SettingsDialog(MainActivity.this);
settingsDialog.show();
Run Code Online (Sandbox Code Playgroud)

并且软键盘没有显示。我已经按照其他 stackoverflow 的答案来显示键盘... Show soft keyboard for dialog

如果我不使用自定义类,它会起作用

AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this);
mBuilder.setView(R.layout.alertdialog_settings);
AlertDialog alertDialog = mBuilder.create();
alertDialog.show();
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是,当使用自定义 AlertDialog 类时,我似乎无法获得与上图相同的结果

我试过手动显示键盘

SettingsDialog settingsDialog = new SettingsDialog(MainActivity.this);
settingsDialog.show();
InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm != null){
   imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

然而,它显示了alertdialog 后面的键盘,并且不会产生与AlertDialog Builder 相同的效果。

如何使用自定义 AlertDialog 显示软键盘以具有使用 AlertDialog Builder 的输出?

编辑:

我也尝试在 AlertDialog 的 onCreate 方法中手动显示它

public class SettingsDialog extends AlertDialog {
     public SettingsDialog(@NonNull Context context, String subName) {
            super(context);
            this.mContext …
Run Code Online (Sandbox Code Playgroud)

android android-softkeyboard android-alertdialog

6
推荐指数
2
解决办法
424
查看次数