AlertDialogのEditTextは入力できません
2064 ワード
一、説明
プロジェクトでAlertDialogを使用してカスタムレイアウトを設定すると、カスタムレイアウトにEditTextが含まれていますが、実行するとEditTextは文字入力ができず、フォーカスがなく、最初はイベントブロックだと思っていましたが、多くの方法を試してみましたが、できませんでした.最後に私のコードを見てみると、getWindow()を見てからビューを設定し、EditTextは入力できません.
二、解決方法
このコードを加えると、EditTextは正常に入力できます.
dlg.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
プロジェクトでAlertDialogを使用してカスタムレイアウトを設定すると、カスタムレイアウトにEditTextが含まれていますが、実行するとEditTextは文字入力ができず、フォーカスがなく、最初はイベントブロックだと思っていましたが、多くの方法を試してみましたが、できませんでした.最後に私のコードを見てみると、getWindow()を見てからビューを設定し、EditTextは入力できません.
二、解決方法
// , getWindow() 。
private void showPromptDialog(String text, String function) {
dlg = new AlertDialog.Builder(this).create();
dlg.setCancelable(false);
dlg.show();
Window window = dlg.getWindow();
window.setContentView(R.layout.cp_alertdialog_prompt);
}
このコードを加えると、EditTextは正常に入力できます.
dlg.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
//
private void showPromptDialog(String text, String function) {
dlg = new AlertDialog.Builder(this).create();
dlg.setCancelable(false);
dlg.show();
Window window = dlg.getWindow();
window.setContentView(R.layout.cp_alertdialog_prompt);
dlg.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
}