मैंने देखा की मनोरंजन से बचने कि जब एक FragmentPagerAdapter
टुकड़े है कि वर्तमान एक अपने विचार को नष्ट कर दिया (और उनके onPause()
और onStop()
तरीकों कहा जाता है, और अजीब onSaveInstanceState(Bundle)
किया जा रहा है कर रहे हैं करने के लिए गैर निकट हैं का उपयोग कर कहा जाता है), और onCreateView
इन टुकड़ों के लिए फिर से बुलाया जा रहा है। मेरी समस्या यह है कि मेरे पास कुछ Timer
एस इन टुकड़ों पर चल रहा है, और उन्हें पुनर्निर्माण करना व्यवहार्य नहीं है क्योंकि इन टाइमर को प्रासंगिक खंड UI को आग और अद्यतन करना चाहिए। बड़ी स्क्रीन के लिए मैंने LinearLayout
के साथ उपयोग किया और यह बेकार ढंग से काम करता है।FragmentPagerAdapter - टुकड़े के विचारों
मेरे गतिविधि में प्रासंगिक कोड:
private class MyPagerAdapter extends FragmentPagerAdapter implements TitleProvider {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return mAddNewScenesFragment;
} else if (position == 1) {
return mGlobalEventsFragment;
} else {
return mSceneFragments.get(position - 2);
}
}
@Override
public int getCount() {
return mSceneFragments.size() + 2;
}
@Override
public String getTitle(int position) {
if (position == 0) {
return "New scene";
} else if (position == 1) {
return mGlobalEventsFragment.getTitle();
} else {
return mSceneFragments.get(position - 2).getTitle();
}
}
}
टुकड़े गतिविधि के onCreate
पद्धति पर बनाई गई हैं और अन्य लोगों के क्रम में सूची में जोड़ा जा सकता है, लेकिन फिर भी कोई नया जोड़ने के बिना, तीसरे टुकड़ा नष्ट हो जाता है जब मैं पहली बार स्क्रॉल करता हूं।
क्या उनके विनाश से बचने के लिए कोई तरीका है या क्या मुझे बस ViewPager
भूल जाना चाहिए और छोटी स्क्रीन के लिए HorizontalScrollView
का उपयोग करना चाहिए? मैं इसका उपयोग करना चुनता हूं क्योंकि मुझे लगता है कि "निश्चित" व्यवहार वास्तव में उपयोगिता के साथ मदद करता है।
यह mFragmentPagerAdapter.setOffscreenPageLimit() नहीं है। यह mViewPager.setOffscreenPageLimit (संख्याऑफफ्रेगमेंट्स) है। मैं आश्चर्यचकित हूं कि बहुत सारी गलती हुई है। –
आप सही @raychenon हैं। मैंने अपना जवाब अपडेट कर लिया है। – Saimon
हां, यह मेरी समस्या हल हो गया .. धन्यवाद @ सैमॉन – bebosh