FragmentManager'ın arka kısmına yerleştirdiğim parçalarım var. Her parça devlet örneğin böyle, üye değişkenler yönü değişikliklerine ilişkin kaydedilir:OnSaveInstanceState'i arka plandaki parçalarla mı kullanıyorsunuz?
@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putLong("userId", mUserId);
outState.putString("username", mUsername);
}
Benim sorunum backstack her parçası onSaveInstanceState aracılığıyla çağrılan beri bir oryantasyon değişikliği, varsa, ben bir null elde ediyoruz üye değişkenleri artık mevcut olmadığından işaretçi istisnası.
Bunu nasıl çözeceğinizle ilgili herhangi bir fikir var mı?
Logcat hata iletinizi sağlayabilir misiniz? –
onSaveInstanceState, gerçek değişiklik uygulanmadan önce çağrılır, böylece kodunuzdaki diğer hatalar nedeniyle boş olmadıkça, değişkenleriniz onları çağırdığınızda var olmalıdır. Hata çıkışı formu Logcat ile birlikte biraz daha kod gönderin. – Shade
Sizi değişkenlerimin iyi olduğundan emin olabilirim. Sorun şu ki, backstack'teki parçalarım, yırtıldıklarında çağrılanSaveInstanceState'e girmiyor; onSaveInstanceState yalnızca etkinlik yok olduğunda çağrılır, ancak değişkenlerim artık mevcut değil. Bu yüzden şu anki çözümüm şu: "eğer (mUserId! = Null && mUsername! = Null) ...". Güzel değil, ama sorunu çözüyor. Parça parçalandığında, fragmanlar için bir onSaveInstanceState yöntemine sahip olmak tuhaf buluyorum. –