アクティビティがあり、その中にダイアログを表示する必要があります。ここではすべてが正常に機能します。ActivityのonCreateDialogメソッドをオーバーライドしました。コードは次のとおりです。
@Override
protected Dialog onCreateDialog(int dialog)
{
if(dialog == 10)
{
if(waitDialog != null)
waitDialog.dismiss();
dialogCreated = true;
waitDialog = CreateWaitDialog(this);
return waitDialog;
}
else
return new Dialog(this);
}
ここで、CreateWaitDialogはダイアログを作成するカスタムメソッドであり、waitDialogは静的変数です。
showDialog(10)を呼び出してダイアログを表示しています
すべてのコードは正常に実行されています。
ダイアログが表示されたら、を呼び出してダイアログを閉じます。
if(waitDialog != null)
waitDialog.hide();
そして、アクティビティが破壊されたときにそれを却下します。
if(dialogCreated)
dismissDialog(10);
super.onDestroy();
閉店し、すべてが素晴らしいです。しかし、デバイスの向きを変更してアクティビティを再作成すると、自分で再びポップアップします。私はshowDialogなどを呼び出していません。ポップアップしているだけです。