Bir Fragmanın dahili durumuyla gerçekten kafam karıştı. Bir kerede yalnızca bir Parçayı tutan bir Etkinliğim var ve başka bir Parçanın gösterilmesi gerekiyorsa, bunu değiştirir. onSaveInstanceState
dokümanlarından, onSaveInstanceState
Faaliyetleri (benim durumumda çağrılmayan) SADECE olarak adlandırılır.Fragments'dan "onViewStateRestored" nasıl çalışır?
Fragmanımı durdurursam, kendi durumunu bir Singleton içinde saklayacağım (evet, ben de Singleton'dan nefret ettiğimi biliyorum, ama benim fikrim yoktu). Bu yüzden ViewHirarchy
'u yeniden oluşturmalıyım, yeni Görünümler oluştur (new
anahtar sözcüğünü kullanarak), durumunu geri yükleyip onCreateView
'a geri vermeliyim. Ayrıca, bu Görünüm içinde açıkça bir durumunu depolamak istiyorum bir Checkbox var.
Ancak FragmentManager
"akıllı" olmak istiyor ve kendime yarattı asla bir Paket ile onViewStateRestored
çağırır ve eski CheckBox
durumunu "geri" ve benim YENİ CheckBox uygular. Bu kadar çok soru ortaya çıkıyor:
Paketi onViewStateRestored
'dan kontrol edebilir miyim?
FragmentManager, (muhtemelen çöp toplama) CheckBox durumunu nasıl alır ve yenisi ile uygular?
Neden sadece o Özetle (Değil TextView'lar ait ??) Checkbox Yani
durumunu kaydetmek kapsamaz: onViewStateRestored
nasıl çalışır?
Ben Fragmentv4 kullanıyorum Not, bu nedenle hiçbir API> 17 onViewStateRestored