6

पर नहीं, मुझे अपने आवेदन के लिए नेस्टेड टुकड़े का उपयोग करने की आवश्यकता है और इसलिए मैं getChildFragmentManager का उपयोग करना चाहता हूं।getChildFragmentManager 4.0.3 डिवाइस पर NoSuchMethod अपवाद बढ़ाएं, लेकिन 4.2.2

मैं दो उपकरणों है:

  • एक असली एक 4.0.3
  • पर एक आभासी एक 4.2.2

पर चल रहा यह दूसरा एक नहीं बल्कि पर बहुत अच्छी तरह से काम करता है चल रहा है मेरे भौतिक डिवाइस पर इस विधि को कॉल करने के बाद NoSuchMethod अपवाद बढ़ाएं।

07-10 19:53:51.722: E/AndroidRuntime(29711): java.lang.NoSuchMethodError: fr.epitech.test_esi.fragments.ReservationCalendarFragment.getChildFragmentManager 

मेरे परियोजना संदर्भित पुस्तकालय उपयोग करती हैं इसलिए मैं नवीनतम एंड्रॉयड समर्थन पुस्तकालय (एसडीके प्रबंधक से) डाउनलोड किया है और मैं इसे दोनों पुस्तकालय और मुख्य परियोजना में शामिल किया है।

<uses-sdk 
    android:minSdkVersion="15" 
    android:targetSdkVersion="17" /> 

दोनों मुख्य परियोजना और पुस्तकालय के लिए:

Projects view in Eclipse

इसके अलावा, मैं कम से कम SDK संस्करण 4.0.3 के लिए समर्थित (संस्करण मेरा असली डिवाइस पर चल रहा है) स्थापित करने का फैसला।

अगर किसी को पता है कि मैं क्या गलत कर सकता हूं, तो मुझे बताएं।

उत्तर

9

getChildFragmentManager() केवल एंड्रॉइड सपोर्ट पैकेज के टुकड़ों के बैकपोर्ट के माध्यम से या देशी टुकड़ों के लिए एपीआई लेवल 17+ पर उपलब्ध है। इसलिए, यदि आप एपीआई लेवल 15 या 16 पर मूल टुकड़े का उपयोग करने की कोशिश कर रहे हैं, और आप getChildFragmentManager() का उपयोग करने की भी कोशिश कर रहे हैं, तो आपको यह त्रुटि मिल जाएगी।

+0

धन्यवाद। बैकपोर्ट लिब से फ्रैगमेंट का उपयोग करने के लिए एक समस्या है जब तक कि TabListener के साथ कोई रास्ता नहीं है? – nathan

+0

@nathan: 'TabListener' किसी भी प्रकार के टुकड़े से बंधे नहीं है, अकेले मूल को छोड़ दें। आप * फ्रैगमेंट ट्रांज़ेक्शन 'प्रदान करने के लिए * होते हैं जिसका उपयोग आप मूल एपीआई स्तर 11 टुकड़ों के लिए कर सकते हैं। आपको उस 'FragmentTransaction' का उपयोग करने की आवश्यकता नहीं है। बैकपोर्ट से अपने स्वयं के 'फ्रैगमेंट ट्रान्सएक्शन' का उपयोग करने के लिए आपका स्वागत है, या कुछ और करें जिसमें टुकड़े शामिल नहीं हैं। – CommonsWare

+0

ओह यह बताता है। मैंने सभी समर्थन टुकड़ों को देशी कारण में बदल दिया है, मैं अब आईसीएस का समर्थन नहीं करूँगा, और ऐसा लगता है कि मुझे अभी भी समर्थन का उपयोग करना होगा <_ < –

0

इसके बजाय android.support.v4.app.Fragment का उपयोग करने का प्रयास करें

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