我有一个活动,当点击按钮时我会在其上显示一个对话框。但是键盘没有显示在对话框中。我的这段代码:
final DialogComfigPass comfigPass = new DialogComfigPass(ActivityTable.this);
comfigPass. getWindow (). clearFlags ( WindowManager . LayoutParams . FLAG_NOT_FOCUSABLE | WindowManager . LayoutParams . FLAG_ALT_FOCUSABLE_IM );
comfigPass.show();`
答案 0 :(得分:1)
**你必须在这样的对话框中打开键盘**
dialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
InputMethodManager inputMethodManager = (InputMethodManager)this.getSystemService(
Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(
InputMethodManager.SHOW_FORCED, 0);
}
});
答案 1 :(得分:1)
您可以使用setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
// Show the keyboard when the dialog is displayed on the screen.
comfigPass.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
之前
comfigPass.show();
<强>最后强>
final DialogComfigPass comfigPass = new DialogComfigPass(ActivityTable.this);
comfigPass. getWindow (). clearFlags ( WindowManager . LayoutParams . FLAG_NOT_FOCUSABLE | WindowManager . LayoutParams . FLAG_ALT_FOCUSABLE_IM );
comfigPass.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
comfigPass.show();`
答案 2 :(得分:0)
尝试这样可以工作:) comfigPass.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
答案 3 :(得分:0)
请使用
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);