6

यदि मैं किसी गतिविधि से डायलॉगफ्रैगमेंट लॉन्च करता हूं, तो जब मैं डायलॉगफ्रैगमेंट बंद करता हूं तो क्या होता है? क्या गतिविधि रिज्यूम राज्य पर जाती है? या कॉल किसी सामान्य जावा कॉल के रूप में है ताकि डायलॉगफ्रैगमेंट बंद होने तक अगली पंक्ति कभी निष्पादित न हो?डायलॉगफ्रैगमेंट कॉलिंग गतिविधि के जीवन चक्र को कैसे प्रभावित करता है

मान लीजिए मेरा टुकड़ा शुरू करने के लिए विधि

private void launchFragment(){ 
    ConfirmationDialog confirm = new ConfirmationDialog(); 
    confirm.show(getSupportFragmentManager(), "confirm"); 
    doMoreStuff(); 
} 

है तो मेरे सवाल दोहरा है:

  1. जब doMoreStuff() कहा जाता है? पैरेंट गतिविधि पर वापस जाने के लिए खंड को बंद करने से पहले या बाद में?
  2. जब मैं पैरेंट गतिविधि पर लौटने के लिए खंड को बंद करता हूं, तो क्या माता-पिता गतिविधि पर निर्भर होती है: ताकि अगर मेरे पास टुकड़े से कुछ फ़ील्ड के लिए चेक हो, तो मैं उस स्थिति के आधार पर रेज़्यूम में काम कर सकता हूं क्षेत्र:

निम्न उदाहरण में के रूप में:

@Override 
public void onResume() { 
    super.onResume(); 
    if(dialogFragmentChangedThis){ 
     workSomeMore(); 
    } 
} 

टुकड़ा

setStyle(STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 
इतना है कि यह है

साथ शुरू की है फ़ुल स्क्रीन मोड।

उत्तर

5

doMoreStuff() कहां कहा जाता है? पैरेंट गतिविधि पर वापस जाने के लिए खंड को बंद करने से पहले या बाद में?

DialogFragment के show() विधि सिर्फ एक FragmentTransaction, जो एसिंक्रोनस रूप से निष्पादित किया जाएगा करता है, इसलिए किसी भी विधि है कि यह इस प्रकार तुरंत निष्पादित किया जाएगा।

मैं टुकड़ा बंद करने के बाद माता-पिता गतिविधि पर लौटने के लिए, करता है माता पिता गतिविधि onResume के माध्यम से जाने

नहीं, यह नहीं करता है, अपने Activity अग्रभूमि में हर समय है के बाद से, के रूप में वहाँ कोई अन्य Activities शामिल नहीं हैं।

आमतौर पर आप DialogFragment रों साथ कॉलबैक श्रोताओं का उपयोग के रूप में आप सरल Fragment के साथ करते हैं, अपने Activity में कॉलबैक को लागू करने से और कहा कि इंटरफेस के माध्यम से अपने Activity की विधि को फोन करके तब होगी जब आप एक का एक परिणाम के पास करना चाहते हैं DialogFragment में हुई कार्रवाई।

+0

मैंने कस्टम कॉलबैक इंटरफ़ेस को लागू करने के बारे में सोचा, लेकिन मुझे उम्मीद थी कि तब एक आसान तरीका था; जीवन चक्र पर ऐसी पिग्गी बैकिंग। –

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