私は、(複合)オブジェクトを編集するための単純なDialogFragmentを作成する方法を理解するのに苦労しています。名前と姓のPersonとそれぞれの列挙型(仕事、家など)と住所。Android DialogFragmentと設定の変更
まず、PersonオブジェクトをDialogFragmentに正しく渡すにはどうすればよいですか?私の現在のソリューションは、DialogFragmentが作成された後で、dialog.show()の前に呼び出されるsetPerson(Person person)メソッドを持っています。これは、構成の変更が発生するまで(ユーザーが画面を回転させる)、正常に機能します。 DialogFragmentが再作成され、私のPersonオブジェクトへの参照がnullです。私はonSaveInstanceStateを使用してインスタンスを保存することができますが、オブジェクトは複雑で高価であり、このように大きなオブジェクトを持続させることは無駄に見えます。
また、ダイアログを使用するアクティビティの設定変更を無効にしようとしましたが、問題を修正しましたが、ダイアログを再利用可能にして、設定変更を無効にするために
第3のオプションは、Personへの参照を静的変数に保存することですが、再度、ダイアログを再利用可能にして複数のインスタンスをサポートできるようにします。
高価で複雑なオブジェクトを再利用可能なダイアログでどのように扱うのですか?