2013-10-11 25 views
9

Etkinlik durumumu kaydetmeyle ilgili bir sorun yaşıyorum. SO'da birçok soruyu araştırdım ve okudum ama soruma cevap alamadım.OnResume() paketinde onSaveInstanceState() paketi nasıl alınır?

ile Activity A var. Activity A, Fragments tarafından gösterilen verileri tutar. Ayarlarım Activity Activity A için Intent'u başlattığımda Activity A durduruluyor (yok edilmiyor), onPause() ve onSaveInstanceState() yöntemleri çağrılıyor, böylece tüm verilerimi onSaveInstaceState()'a kaydediyorum.

Ne tekrar görüntülenir ancak onCreate() yöntem Activity tahrip edilmemesi nedeniyle, yerine onResume() yöntemi denir denir değil ama Activity A ve I benim değişkenlerin durumunu kaybetmiş düğmesini Activity geri kullanarak ayarlardan dönmek Bundle erişemiyor onSaveInstanceState() kaydedildi, çünkü onCreate() çağrılmıyor.

onSaveInstanceState()onSaveInstanceState(), yalnızca ekranı döndürdüğünüzde kullanışlıdır? onSaveInstanceState()'da kaydettiğim tüm verilere nasıl erişebilirim? Veya onları bir dosyaya veya SharedPrefs'a daha sonra kaydetmek için onResume()'a kaydetmeliyim?

+1

... Eğer Acitivy A deklare sizin örnek değişkenleri veri kaybettim? Neye gittiler? –

cevap

23

Bu yardımcı olabilir mi?
1. Verilerinizi Etkinlik paketine kaydetmek için onStop()'da getIntent().putExtras() kullanın.
2. onResume() numaralı telefondan geri almak için getIntent().getExtras().

Ve erişmek önce paket :)

+0

Harika çalıştı! Verileri kaydetmek için kullandığım getIntent(). PutExtras() 'çünkü' getIntent(). GetExtras() ', neyse, henüz hiçbir şeyi kaydetmediğiniz bir zamanda. – Andres

+0

Bir örnek paylaşabilir misiniz? Bunu onStop/onResume'de uygulamaya çalışıyorum ama çok şansım yok. – snapplex

+0

Android Geliştiricilerinin "onSaveInstanceState", "onRestoreInstanceState" ve "onCreate" ürünlerini kullanmamızı nasıl tavsiye ettikleri inanılmaz, ancak çok kararsız. Bunu paylaştığınız için teşekkürler, sorunumu çözdü –

-3

Sen paket veya değişkende SavedInstance tüm malzeme kaydedebilen bir boş çek yapmalıdır.

Ve benzeri onActivityCreated yöntemine veri ayarlamak: Bu çok mantıklı yapmıyor

@Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onActivityCreated(savedInstanceState); 

     // Do your stuff here 

} 
+0

Bazen OnActivityCreated çağrılmadı. –

İlgili konular