如果AlertDialog中有编辑录入框(newMainLayout里面动态创建了EditText控件),show后无法显示输入法
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(modalWindowTitle);
builder.setView(newMainLayout);
builder.setNegativeButton("返回", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
});
AlertDialog ad = builder.create();
ad.show();
//下面两行代码加入后即可弹出输入法
ad.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
ad.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(modalWindowTitle);
builder.setView(newMainLayout);
builder.setNegativeButton("返回", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
});
AlertDialog ad = builder.create();
ad.show();
//下面两行代码加入后即可弹出输入法
ad.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
ad.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
解决AlertDialog中EditText控件无法显示输入法的问题
本文详细介绍了在使用AlertDialog展示EditText控件时遇到无法显示输入法的问题,并提供了解决方案:通过调整AlertDialog窗口的flags和软键盘显示模式,确保EditText控件在AlertDialog中正常工作。

2万+

被折叠的 条评论
为什么被折叠?



