2012-04-13 2 views
6

केवल प्रलेखित तरह से मैंने पाया है:मैं ViewPager में एक टुकड़े का संदर्भ कैसे प्राप्त कर सकता हूं?

MyFragment fragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.fragment); 

लेकिन चूंकि टुकड़ा एक ViewPager में instantiated है मैं एक आईडी नहीं है।

List<Fragment> fragments = new Vector<Fragment>(); 
    fragments.add(Fragment.instantiate(this, Fragment1.class.getName())); 
    fragments.add(Fragment.instantiate(this, Fragment2.class.getName())); 
    fragments.add(Fragment.instantiate(this, Fragment3.class.getName())); 

धन्यवाद

+1

एक ही समस्या यहाँ। लगता है कि http://stackoverflow.com/questions/7379165/update-data-in-listfragment-as-part-of-viewpager में हल किया जाना चाहिए। – yuku

उत्तर

5

आप एक ओह-तो-अप्रचलित Vector में स्मृति में सभी टुकड़े पकड़े होना दिखाई देते हैं। उस स्थिति में, आप उसी टुकड़े को उसी Vector से पुनर्प्राप्त करेंगे। उदाहरण के लिए, वर्तमान में चयनित खंड सूचकांक को खोजने के लिए ViewPager पर getCurrentItem() पर कॉल करें, फिर उस सूचकांक के साथ Vector पर get() पर कॉल करें।

नोट, हालांकि, कि आप अपने टुकड़े धारण करने के लिए, कि किसी दिए गए सूचकांक के लिए एक टुकड़ा मौजूद न हो FragmentPagerAdapter या FragmentStatePagerAdapter पर भरोसा कर रहे हैं क्योंकि या तो यह अभी तक नहीं बनाया गया है या यह स्मृति की खपत कम करने के लिए छोड़ दिया गया है ।

(btw, अधिक पर Vector के लिए Why is Java Vector class considered obsolete or deprecated? देखें)

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

  • कोई संबंधित समस्या नहीं^_^