Activity.showDialog()
私は同じ答えを探していましたが、アクティビティのダイアログメソッドを自分で管理する必要がなく、ローテーションで自動的に再作成されるようにしたかったため、ここでの答えはどれもうまくいきませんでした。
他の回答のいくつかが言ったように、dismiss() が呼び出されると、ProgressDialog
回転が停止します。ダイアログへの参照を保存するため、一度作成されると、次の呼び出しActivity.onCreateDialog()
では再作成されません。すでに持っているインスタンスをActivity.showDialog()
呼び出して使用するだけです。Activity.onPrepareDialog()
閉じられた場合、再度表示されたときに回転しません。
を呼び出す代わりに の ID を使用して呼び出すActivity.removeDialog()
と、強制的に再作成することができます。これはそれを却下し、その参照も削除するため、次に が呼び出されると、代わりに使用され、真新しい (回転している) インスタンスが作成されます。ProgressDialog
Dialog.dismiss()
Activity.onShowDialog()
Activity.onCreateDialog()
Activity.onPrepareDialog()
却下またはキャンセルできる がある場合は、ProgressDialog
を呼び出せるようにリスナーを設定してくださいActivity.removeDialog()
。それ以外の場合は、却下されるだけです。を呼び出す直前に呼び出すこともできますActivity.showDialog()
。
それが誰かを助けることを願っています。