सबसे पहले, मैं FragmentStatePagerAdapter का उपयोग कर रहा हूं ताकि दृश्यों को प्रदर्शित करने के लिए एक ViewPager फ़ीड किया जा सके।जब सेटएडाप्टर कहा जाता है, तो ViewPager हमेशा रीफ्रेश नहीं होता है, FragmentStatePagerAdapter
जब ऐप चल रहे राज्य में होता है (यानी onResume()
के बाद), ViewPager पर setAdapter को कॉल करना हमेशा काम करेगा और मेरा व्यूपायर रीफ्रेश करेगा, एडाप्टर में getItem(int position)
विधि कहा जाता है।
हालांकि अभिविन्यास परिवर्तन के बाद, यदि मैं onCreate(Bundle savedInstance)
में मेरी गतिविधि की विधि सेट सेट एडाप्टर को कॉल करता हूं, तो getItem(int position)
विधि को कॉल नहीं किया जाता है, और पुराना खंड पुन: उपयोग किया जाता है।
मुझे लगता है कि शायद FragmentManager ऐसा कुछ कर रहा है जिसे मैं समझ नहीं पा रहा हूं? फ्रैगमेंट मैनेजर एकमात्र चीज है जो अभिविन्यास परिवर्तन के दौरान नष्ट नहीं होती है।
धन्यवाद
समस्या सहेजे गए स्टेटस है। मुझे एक ही समस्या है लेकिन कोई समाधान नहीं है। आप निम्न कोशिश कर सकते हैं: befor आप एडाप्टर कॉल एडाप्टर सेट करें।saveState, एडाप्टर सेट करने और सहेजे गए राज्य के साथ पुनर्स्थापित सहेजे गए स्टेटस को सेट करें। मेरे मामले में यह मदद नहीं की, लेकिन शायद आपके लिए। कारण: ViewPager setAdapter में यह वर्तमान स्थिति को सहेजा गया और इसका पुन: उपयोग किया। (मुझे लगता है) – Informatic0re
सही उत्तर यहां प्राप्त करें: http://stackoverflow.com/questions/13910826/viewpager-fragmentstatepageradapter-orientation-change – Informatic0re
क्या इससे स्मृति रिसाव हो जाती है? कई कहते हैं कि यह करता है। कोई अन्य समाधान इस परिदृश्य को कैसे संभालना है? – pradyumnad