1. ホーム
  2. android

AlertDialogのsetCancelable(false)メソッドが動作しない件

2023-09-30 02:32:05

質問

AlertDialogを作成し、正常に動作しています。を押すと消えてしまいます。

1) キーボードのエスケープボタンまたは

2) マウスで戻るボタン

上記の状態でもフォーカスされるように、ビルド時に「.setCancelable(false)」ステートメントを追加していました。しかし、それでもダイアログが消えてしまうのがわかります。どこが問題なのでしょうか? 助けてください。

コードを追加しました。

return new AlertDialog.Builder(getActivity())
                .setIcon(R.drawable.alert_dialog_icon)
                .setTitle(title)
                .setCancelable(false)
                .setPositiveButton(R.string.alert_dialog_ok,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((FragmentAlertDialog)getActivity()).doPositiveClick();
                        }
                    }
                )
                .setNegativeButton(R.string.alert_dialog_cancel,
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int whichButton) {
                            ((FragmentAlertDialog)getActivity()).doNegativeClick();
                        }
                    }
                )
                .create();



Env: XP Professional上のAndroid 4.0。

どのように解決するのですか?

これは この を設定するためにコードを変更してください。 setCancelable(false) このように

void showDialog() {
    DialogFragment newFragment = MyAlertDialogFragment.newInstance(
            R.string..alert_dialog_two_buttons_title);
    newFragment.setCancelable(false);
    newFragment.show(getFragmentManager(), "dialog");
}