मुझे एक टैबहोस्ट में 2 गतिविधियां मिली हैं। गतिविधि 1 में, मैं अभिविन्यास परिवर्तनों को संभालता हूं और जब उपयोगकर्ता गतिविधियों के बीच स्विच करता है।किसी अन्य गतिविधि में अभिविन्यास परिवर्तन के साथ जीवन चक्र परिस्थिति
समस्या तब शुरू होती है जब उपयोगकर्ता गतिविधि 1 से गतिविधि 2 (टैब चयन के माध्यम से) स्विच करता है, एक अभिविन्यास परिवर्तन करता है, फिर गतिविधि 1 पर वापस स्विच करता है। मैं अपने गतिविधि 1 में होने वाली जीवन चक्र घटनाओं के साथ थोड़ा सा खो गया हूं, जबकि गतिविधि 2 दिखाई देने पर चीजें चल रही हैं।
=== === अभिविन्यास बदलें
onSaveInstanceState
onPause
onStop
onCreate
onStart
onRestoreInstanceState:
डिबगर के अनुसार, यहां की घटनाओं है कि मेरे Activity1 में पाए जाते हैं के अनुक्रम है
ऑनर्यूम
=== स्विच गतिविधि 2 === को
onSaveInstanceState
onPause गतिविधि में
=== जबकि अभिविन्यास बदलें 2 ===
onStop
onCreate
onStart
=== Switchback वापस activity2 से == =
ऑनर्यूम
जैसा कि आप देख सकते हैं, मुझे अपने गतिविधि 1 डेटा को कॉल में सहेजने का अवसर है SaveInstanceState पर गतिविधि 2 पर स्विच किया गया है, लेकिन इसे पुनर्स्थापित करने के लिए मुझे कभी भीस्टोर इंस्टेंसस्टेट पर कॉल नहीं मिलता है।
प्रश्न
क्यों एंड्रॉयड एक और गतिविधि का उपयोग करने जा पर मेरी onSaveInstanceState फोन करता है तो यह onRestoreInstanceState कॉल करने के लिए जब यह वापस स्विच का इरादा नहीं है?
मैं अपने गतिविधि 1 में SaveInstanceState/onRestoreInstanceState पर क्यों नहीं मिलता, जबकि गतिविधि 2 दिखाई दे रहा है? मुझे अभी भी डेटा को सहेजना/पुनर्स्थापित करना होगा चाहे वह दिखाई दे या नहीं, हाँ?
इस मामले में डेटा को सहेजने/पुनर्स्थापित करने के लिए सबसे सुरक्षित स्थान कहां है? और यदि यह SaveInstanceState/onRestoreInstanceState पर नहीं है, तो मैं बहाली के लिए बंडल का उपयोग कैसे करूं?
क्या कोई अन्य समाधान है जैसे अन्य कॉलबैक मैं इसे कम करने का लाभ उठा सकता हूं?
किसी भी मदद के लिए धन्यवाद!
ग्रेग
धन्यवाद MisterSquonk ... भले ही मेरी गतिविधि 1 समय rotaion पर दिखाई नहीं दे रहा होता है, यह अभी भी अंत में जब यह दिखाई देने लगता है सही काम करने की आवश्यकता होगी। हां, यह एक बग की तरह दिखता है कि इस मामले में RestoreInstanceState को नहीं बुलाया जाता है। – user695977
मैं ऑनक्रेट में हैंडलिंग करने का प्रयास करूंगा। मुझे आश्चर्य है कि RestoreInstanceState पर क्या बात है? आपकी सहायताके लिए धन्यवाद! – user695977
हम्म, अगर मैं यह बताने में सक्षम था कि मेरी गतिविधि पर ध्यान केंद्रित किया गया है, तो मैं आसानी से इस समस्या को हल कर सकता हूं। दुर्भाग्यवश, ऑन विन्डोफोकस चेंज() को टैब चयन के माध्यम से गतिविधियों के बीच स्विच करते समय नहीं कहा जाता है। क्या यह जानने का कोई और तरीका है कि कोई गतिविधि फोकस कर रही है या नहीं? – user695977