2012-09-13 6 views
9

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

(एक और बी एक ही गतिविधि में हैं।)

+0

पता लगाने के लिए कुछ लॉगिंग जोड़ें। –

+0

लॉग के अनुसार, मुझे ऑनस्यूम() की विधि कभी नहीं कहा जाता है। मैं बहुत उलझन में हूं। – Europa

उत्तर

12

onResume() विधि मामले आपके द्वारा बताई में नहीं बुलाया जाता है। documentation on the android fragment lifecycle देखें।

ऑनर्यूम() को पहली बार यूआई में टुकड़ा जोड़ा जाता है, और फिर हर बार यह रोका जाने से वापस आता है। यदि एक बैक स्टैक में जोड़ा जाता है तो एक टुकड़ा रुक जाएगा, उपयोगकर्ता होम बटन हिट करता है और ऐप को छुपाता है, या अगर कोई अन्य ऐप फोन पर ले जाता है (उदाहरण के लिए उपयोगकर्ता को फोन कॉल प्राप्त होता है।) आम तौर पर, अगर आपका टुकड़ा और ऐप पूरी तरह से दिखाई दे रहा है, टुकड़ा रोका नहीं जा रहा है।

यूआई फोकस गतिविधि/खंड जीवन चक्र के साथ भ्रमित नहीं होना चाहिए। जिस स्थिति का आप वर्णन कर रहे हैं वह OnFocusChangeListener के लिए बेहतर अनुकूल लगता है।

+0

आपको बहुत बहुत धन्यवाद! आप मुझे अब और मेरी समस्या को हल कर देते हैं। – Europa

+0

OnFocusChangeListener दृश्यों पर लागू होता है, न कि Fragments। आप इसका इस्तेमाल कैसे करेंगे? –

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