Ben basit bir DialogFragment bir (karmaşık) nesneyi düzenlemek için yapmak ilk ve son adla bir Kişi, nasıl desek anlamakta biraz sıkıntı ve her oluşan e-posta adreslerinin bir listesini yaşıyorum değiştirir bir enum (İş, Ev, vb) ve adres. Her şeydenAndroid DialogFragment ve yapılandırma
Birincisi, nasıl düzgün bir DialogFragment için Kişi nesnesi geçmek? Benim şu anki çözümüm, DialogFragmentim oluşturulduktan sonra, dialog.show() 'dan sonra çağrılan bir setPerson (Kişi kişi) yöntemine sahip. Bu, bir yapılandırma değişikliği gerçekleşene kadar çalışır (kullanıcı ekranı döndürür). DialogFragment yeniden oluşturuluyor ve Personem nesnesine yapılan başvuru boş. Örneği onSaveInstanceState kullanarak kaydedebileceğimi biliyorum, ancak nesne karmaşık ve pahalıdır ve bu şekilde büyük bir nesneyi ısrarla savurgan görünüyor.
Ayrıca, iletişimimi kullanan ve sorunu gideren etkinlikte yapılandırma değişikliğini devre dışı bırakmayı da denedim, ancak iletişim kutusunun yeniden kullanılabilir olmasını ve yapılandırma değişikliklerini devre dışı bırakmak için kullanılan tüm etkinlikleri gerektirmesini istiyorum.
Üçüncü seçenek statik değişkende Kişiye referansı kaydetmek için olurdu ama yine ben diyalog reuseable ve birden çok örneği desteklemek isterler.
Diğer insanlar, yeniden kullanılabilir iletişim kutularındaki pahalı ve karmaşık nesnelerini nasıl kullanır?