2013-06-19 7 views
6

के बाद बर्खास्त कर दिया जाता है मैं एक नेस्टेड टुकड़ा है कि मेरे PhotoNoteDialogFragment से पता चलता है (!):नेस्टेड DialogFragment रोटेशन

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

संवाद पॉप अप होता है, लेकिन जैसे ही मैं डिवाइस बारी बारी के रूप में खारिज हो जाता है। मैं पहले से ही कुछ शोध किया और सफलता के बिना इन बातों की कोशिश की:

  • सेट PhotoNoteDialogFragment # setRetainInstance (सही)। काम नहीं करता है, क्योंकि नेस्टेड टुकड़े को बनाए रखा नहीं जा सकता है। - मेरी नेस्टेड टुकड़ा में विधि

 
    @Override 
    public void onDestroyView() { 
     if (getDialog() != null) 
      getDialog().setDismissMessage(null); 
     super.onDestroyView(); 
    } 
  • कोशिश शो() कॉल करने के लिए:

  • PhotoNoteDialogFragment में इस कोड स्निपेट एक बग डालता है एक अवांछित सिस्टम से कॉल खारिज को रोकने के लिए उपयोग #onActivityCreated, अगर PhotoNoteDialogFragment के कहने पहली नहीं अशक्त:

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

इन प्रयासों में से कोई भी स्क्रीन रोटेशन के बाद डायलॉगफ्रैगमेंट फिर से नहीं आ सकता है। क्या कोई और विचार है, मैं आगे क्या कोशिश कर सकता हूं ..? मैं विचारों से बाहर हूं।

THX

+0

क्या आपने पोर्ट्रेट और लैंडस्केप मोड के लिए अलग-अलग लेआउट का उपयोग किया था ... – Amsheer

+0

आप रूट खंड कैसे जोड़ रहे हैं? क्या आप सुनिश्चित हैं कि यह सिस्टम द्वारा बनाए रखा गया है, या आप इसे मैन्युअल रूप से पुनर्निर्माण कर रहे हैं? –

+0

@ एम्सहेयर: हाँ, मेरे पास नेस्टेड टुकड़े के साथ-साथ संवाद के लिए अलग-अलग लेआउट हैं। – muetzenflo

उत्तर

0

मुझे लगता है कि आप onActivityCreated ओवरराइड करने के लिए नहीं है, अपने संवाद इसके बिना ठीक है। मैंने भी कोशिश की है। यदि आप onActivityCreated पर संवाद दिखाते हैं तो आपका ऐप क्रैश हो जाएगा।

संबंधित मुद्दे