यहाँ मेरी उपयोग मामला है:मैं विभिन्न टुकड़ों में एक एंड्रॉइड खंड उदाहरण का पुन: उपयोग कैसे कर सकता हूं?
मैं ActionBar Navigation Tabs का उपयोग कर 3 टैब बनाने की जरूरत है, और मैं ActionBarSherlock उपयोग कर रहा हूँ यह पूरा करने के। प्रत्येक 3 टैब में से प्रत्येक का अपना Fragment है। हालांकि, कुछ सामान्य जानकारी है जो प्रत्येक टैब में दिखायी जाती है (मेरे मामले में, उत्पाद शीर्षक, विवरण)। मैंने इस सामान्य जानकारी के लिए एक और टुकड़ा बनाया है, और this जैसे प्रत्येक मुख्य टुकड़े लेआउट में इस टुकड़े का संदर्भ दे रहा हूं।
मैं टुकड़ा उदाहरण है कि प्राप्त करता है और आम जानकारी प्रदर्शित करता है पुन: उपयोग करना चाहते हैं:
यहाँ मेरी समस्या है। मैं नीचे दिए गए कोड का उपयोग कर रहा हूं, लेकिन यह हमेशा मुख्य टुकड़ों में सामान्य टुकड़े का एक नया उदाहरण बनाने लगता है।
FragmentManager fm = getFragmentManager();
f = (ProductDetailsInfoFragment) fm.findFragmentByTag("prodinfo");
if (f == null) {
Log.d(TAG, "fragment not found...creating new instance");
f = new ProductDetailsInfoFragment();
f.setTargetFragment(this, 0);
fm.beginTransaction().replace(R.id.prod_info_fragment, f, "prodinfo").commit();
}
आप एक टुकड़े के समान उदाहरण का पुन: उपयोग नहीं कर सकते हैं, आपको किसी अन्य खंड पर उपयोग करने के लिए एक नया बनाना होगा। –
उह, यही वह है जिसे मैं डरता था। मुझे लगता है मुझे कैशिंग के लिए टुकड़े में कुछ तर्क जोड़ना होगा ताकि मैं डेटा को कई बार पुनर्प्राप्त न करूं। – Sanjeev