2012-10-11 15 views
7

मैं इन चार विषयों Creating a Fragment, Handling the Fragment Lifecycle, Managing the Activity Lifecycle और Pausing and Resuming an Activity का पालन कर रहा था। तो मुझे इसके बारे में थोड़ा संदेह है। मेरा प्रश्नफ्रैगमेंट और पेरेंट गतिविधि जीवन चक्र एक साथ

  1. तो एक Activity कॉल बी ActivityIntent के माध्यम से लेकिन एक finish() विधि कॉल नहीं करता है तो एक Pause राज्य में हो सकता है अगर बी Transparent या SemiTransparent और Stop स्थिति में है, तो बी Opaque है। क्या मैं सही हू?
  2. एक ActivityFragment एफ मौजूद होता है तो फिर अगर एक Pause राज्य के लिए जाना जाएगा तो एफ Pause राज्य के लिए जाना जाएगा और अगर एक Stop राज्य में हो जाएगा तो एफ भी Stop राज्य में हो जाएगा। क्या मैं सही हू?
  3. यदि कोई कॉल बी Activity और बी Transparent है तो ए Pause राज्य और एफ भी होगा। यदि बी finish() पर कॉल करें तो ए Resume राज्य पर आएगा लेकिन एफ के साथ क्या होगा? क्या यह विराम से फिर से शुरू होगा? यदि ऐसा है तो कैसे और क्या कदम हैं क्योंकि मैंने Fragment जीवन चक्र में कोई प्रत्यक्ष लिंक नहीं देखा है जो onPause() से onResume() को सीधे गतिविधि के रूप में इंगित करता है।

    आशा है कि मैं पूछ सकता हूं कि मैं क्या चाहता हूं। मेरे बुरे अंग्रेजी के लिए खेद है।

उत्तर

3
  1. आप सुनिश्चित करें कि केवल onPause एक पर बुलाया जाएगा अगर B अर्द्धपारदर्शी या आंशिक रूप से दिखाई दे रहा यह समझने के रूप में है नहीं किया जा सकता:

    रोका गया

    एक और गतिविधि अग्रभूमि में है और ध्यान केंद्रित है, लेकिन यह एक अभी भी दिखाई दे रहा है। यही है, एक और गतिविधि के शीर्ष पर दिखाई दे रही है और यह गतिविधि आंशिक रूप से पारदर्शी है या पूरी स्क्रीन को कवर नहीं करती है। एक रोका गया गतिविधि पूरी तरह से जीवित है (गतिविधि ऑब्जेक्ट स्मृति में बनाए रखा गया है, यह सभी राज्य और सदस्य जानकारी को बनाए रखता है, और विंडो प्रबंधक से जुड़ा रहता है), लेकिन बहुत कम स्मृति स्थितियों में सिस्टम द्वारा को मार दिया जा सकता है।

  2. हाँ, तुम ठीक कह रहे:

    गतिविधि जिसमें टुकड़ा सीधे रहता के जीवन चक्र टुकड़ा के जीवन चक्र को प्रभावित करता है ऐसी है कि एक में गतिविधि परिणामों के लिए प्रत्येक जीवन चक्र कॉलबैक प्रत्येक खंड के लिए समान कॉलबैक। उदाहरण के लिए, जब गतिविधि को रोकें(), गतिविधि में प्रत्येक खंड में रोकें()।

    हालांकि, विपरीत सत्य नहीं है, जिसका अर्थ है कि अगर एक टुकड़ा स्टॉप पर प्राप्त होता है, तो यह गारंटी नहीं देता है कि गतिविधि की ऑनटॉप को कॉल किया जाएगा।

  3. मैं काफी यकीन है कि आप अपनी अंतिम वाक्य या आप कैसे इस परीक्षण किया है से क्या मतलब है नहीं कर रहा हूँ। टुकड़ा प्रलेखन के अनुसार:

    सार्वजनिक शून्य onResume()

    कहा जाता है जब टुकड़ा उपयोगकर्ता और सक्रिय रूप से चलाने के लिए दिख रहा है। यह आम तौर पर युक्त गतिविधि के जीवनचक्र

    की Activity.onResume से जुड़ा हुआ है यह आम तौर पर कहते हैं, क्योंकि यह कैसे टुकड़ा गतिविधि के द्वारा नियंत्रित किया जाता है पर निर्भर करता है।

+0

दरअसल मैं आखिरी वक्तव्य में पूछ रहा था कि हम जानते हैं कि जब कोई गतिविधि चालू होती है तो रेज्यूम पर चलती है, यह सीधे या चालू हो जाती है फिर से शुरू करने के लिए इसे चालू करें -> ऑनस्टार्ट -> ऑनस्टार्ट-> ऑनस्यूम पर। लेकिन गतिविधि के अंदर युक्त टुकड़ा क्या है? आप खंडित जीवन चक्र पर रोक सकते हैं-> ऑनस्टॉप -> ऑनडिस्टरो व्यू -> ऑन क्रिएटिव्यू -> ऑन एक्टिविटी क्रिएटेड -> ऑनस्टार्ट -> ऑन रेज़्यूम। क्या यह इसका पालन करेगा? अगर ऐसा नहीं है तो इस जीवन चक्र क्यों है? – MGDroid

0
  1. तो आशय के माध्यम से एक गतिविधि कॉल बी गतिविधि लेकिन एक फोन नहीं करता खत्म() विधि तो एक रोकें राज्य में हो सकता है अगर बी पारदर्शी या अर्द्धपारदर्शी और बंद करो स्थिति में है, तो बी अपारदर्शी है। क्या मैं सही हू?

    हाँ सच

  2. एक गतिविधि टुकड़ा एफ मौजूद होता है तो फिर अगर एक राज्य रोकें के लिए जाना जाएगा तो एफ राज्य रोकें के लिए जाना जाएगा और अगर एक बंद करो राज्य में हो जाएगा तो एफ भी बंद राज्य में हो जाएगा । क्या मैं सही हू?

    हाँ सही

  3. एक बी गतिविधि कॉल और बी तो एक पारदर्शी रोकें राज्य में हो जाएगा और एफ भी होगा। यदि बी कॉल खत्म() तो ए राज्य फिर से शुरू करने के लिए आएगा लेकिन एफ के साथ क्या होगा? क्या यह विराम से फिर से शुरू होगा? यदि ऐसा है तो कैसे और क्या कदम हैं क्योंकि मैंने फ्रैगमेंट लाइफ चक्र में कोई सीधा लिंक नहीं देखा है जो कि() को ऑनस्यूज() को सीधे रेज़्यूम() पर इंगित करता है जैसे गतिविधि कर सकती है।

आप क्या समझ में आ भी इस परिदृश्य भी टुकड़ा सिर्फ एक गतिविधि की तरह राज्य onResume को onPause से ले जाया जाएगा में, सही है। लेकिन दुर्भाग्य से डेवलपर एंड्रॉइड में इसके बारे में अधिक दस्तावेज नहीं है। ऐसा इसलिए हो सकता है क्योंकि वे जटिल आरेखों से बचना चाहते थे जो अधिक भ्रम पैदा कर सकते हैं।

+0

कोई जवाब नहीं, मुझे केवल प्रश्न दोहराते हैं। – akash89

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