में गतिशील रूप से टुकड़े जोड़ना और निकालना मैं ViewPager
का उपयोग PagerFragmentAdapter
के साथ कर रहा हूं जो टुकड़े प्रदान करने के लिए आंतरिक सूची का उपयोग करता है। मैं सेटिंग में बदलावों पर गतिशील रूप से टुकड़े जोड़ना और निकालना चाहता हूं।ViewPager
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_pager);
mAdapter = new ServicePagerAdapter(getSupportFragmentManager());
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
}
मैं फिर से setAdapter
कॉल करने की कोशिश की है, लेकिन मैं एक IllegalStateException (Can not perform this action after onSaveInstanceState)
प्राप्त करते हैं।
मेरा उद्देश्य कैसे प्राप्त कर सकता है?
दुर्भाग्य से यह इतना आसान नहीं है। FragmentPagerAdapter कैश Fragments, आपको एक कस्टम पेजर एडाप्टर बनाना है या कुछ चाल का उपयोग करना है। – Matroska
आपके कोड नमूने में आप 'ServicePagerAdapter' का उल्लेख करते हैं - यह लाइब्रेरी क्लास नहीं है, इसलिए मैंने माना है कि आप पहले से ही कस्टम एडाप्टर का उपयोग कर रहे हैं। तो हाँ, आपको 'पेजर एडाप्टर' वर्ग के कस्टम कार्यान्वयन की आवश्यकता है। आपके मुख्य प्रश्न के बारे में - मुझे लगता है कि इसका उत्तर दिया गया था। – HitOdessit
यदि तत्व हटा दिए गए हैं तो पेजरएडाप्टर पर NotataDataSetChanged() को कॉल करने के लिए पर्याप्त नहीं है। आपको पेजर एडाप्टर की getItemPosition विधि को ओवरराइड करने की आवश्यकता है। यदि तत्व अभी भी है, तो POSITION_UNCHANGED वापस लौटें, या POSITION_NONE को हटा दिया गया है। –