ゲームに再起動オプションがあります。ただし、問題は、再起動を押すと、既存のアクティビティに開いているアラートダイアログが表示される可能性があることです。
再起動を押すと、開いているすべてのAlertdialog(存在する場合)を閉じたいと思います。開いたアラートダイアログへの参照はありません(o、1、または複数の場合があります)。
アクティビティで開いているすべてのアラートダイアログを、参照せずにいつでも却下できる方法はありますか?
ゲームに再起動オプションがあります。ただし、問題は、再起動を押すと、既存のアクティビティに開いているアラートダイアログが表示される可能性があることです。
再起動を押すと、開いているすべてのAlertdialog(存在する場合)を閉じたいと思います。開いたアラートダイアログへの参照はありません(o、1、または複数の場合があります)。
アクティビティで開いているすべてのアラートダイアログを、参照せずにいつでも却下できる方法はありますか?
まず、すべてのダイアログをメンバー変数に割り当てることができます。
private Vector<AlertDialog> dialogs = new Vector<AlertDialog>();
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_ALERT:
Builder builder = new AlertDialog.Builder(this);
...
AlertDialog dialog = builder.create();
dialogs.add(dialog);
dialog.show();
}
return super.onCreateDialog(id);
}
その後、ダイアログのメソッドを使用して、ダイアログが表示されているかどうかをテストできます(クラスhttp://developer.android.com/reference/android/app/AlertDialog.htmlisShowing()
から継承されたメソッドを確認してください)。android.app.Dialog
public void closeDialogs() {
for (AlertDialog dialog : dialogs)
if (dialog.isShowing()) dialog.dismiss();
}
または、Pragnaniが言ったように、アクティビティを終了して再開することもできます。再起動ボタンがどこにあるかによって異なります...