2013-06-19 12 views
6

sonra görevden alır:İçiçe DialogFragment benim PhotoNoteDialogFragment gösteren iç içe geçmiş bir Fragment sahip dönme

private void newPhotoNote() { 
    mPhotoDialog = PhotoNoteDialogFragment.newInstance(this); 
    mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); 
} 

iletişiminin açıldığını, ancak en kısa sürede cihazı döndürmek olarak görevden alır. Zaten biraz araştırma yaptım ve başarılı olamadı bunları denedik:

  • set PhotoNoteDialogFragment # setRetainInstance (doğru). İşe yaramaz, çünkü iç içe geçmiş Fragmanlar korunamaz. Benim iç içe Fragment Yöntemi - gösterisi() çağırmak için

 
    @Override 
    public void onDestroyView() { 
     if (getDialog() != null) 
      getDialog().setDismissMessage(null); 
     super.onDestroyView(); 
    } 
  • deneyin: Bir sistemden çağrı istenmeyen görevden koyar bir hata önlemek için

  • kullanın PhotoNoteDialogFragment bu kod parçacığı #onActivityCreated, PhotoNoteDialogFragment örneği ist değilse boş:

 
    @Override 
    public void onActivityCreated(final Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    if (mPhotoNoteDialogFragment != null) { 
     mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); 
    } 
    } 

Bu girişimlerden hiçbiri, DialogFragment öğesini ekran döndürme işleminden sonra tekrar oluşturamaz. Başka kimsenin bir fikri var mı, sonra ne deneyebilirim ..? Fikirlerim tükendi.

thx Sana onActivityCreated geçersiz kılmak gerekmez düşünüyorum

+0

Dikey ve yatay mod için farklı düzen kullandınız mı ... – Amsheer

+0

Kök parçasını nasıl ekliyorsunuz? Sistem tarafından korunduğundan emin misiniz yoksa manuel olarak mı yeniden oluşturuyorsunuz? –

+0

@Amsheer: Evet, iç içe geçmiş parçanın yanı sıra dialogFragment için farklı düzenlerim var. – muetzenflo

cevap

0

, sizin iletişim onsuz gayet iyi. Ben de denedim. onActivityCreated iletişim kutusunu gösterirseniz, uygulamanız çökecektir.

İlgili konular