20

मैं एक FragmentPagerAdapter के साथ एक ViewPager को लागू करने का प्रयास कर रहा हूं, जहां ViewPager स्वयं एक टुकड़े के अंदर स्थित है। मैंने दस्तावेज़ों में पढ़ा है कि यह नवीनतम समर्थन पुस्तकालय और नेस्टेड टुकड़ों का उपयोग करके संभव होना चाहिए। मुख्य रूप से मैं पेजर एडाप्टर को रूट खंड के बाल खंड प्रबंधक का उपयोग करना चाहता हूं।NoSuchMethodError getChildFragmentManager()

तो, मेरी परियोजना एक्शनबार शेरलॉक और शेरलॉक फ्रैगमेंट्स का उपयोग करती है। चूंकि एक्शनबैरशेलॉक के साथ बंडल किए गए समर्थन lib में विधि को शामिल नहीं किया गया था, ChildFragmentManager() बिल्कुल, मैंने नवीनतम समर्थन लाइब्रेरी v4 डाउनलोड किया और इसे एक्शनबैरशेलॉक और मेरे प्रोजेक्ट के libs फ़ोल्डर में भी रखा। इस परिवर्तन के साथ परियोजना ठीक से संकलित होती है, लेकिन पहली बार यह getChildFragmentManager() के संबंध में NoSuchMethodError के साथ निकलती है। मुझसे यहां क्या गलत हो रहा है?

(पी एस मैं Android 2.2 जो अपने लक्षित न्यूनतम मंच है के साथ यह परीक्षण कर रहा हूँ।)

धन्यवाद!

सॉल्व: मैंने अपनी परियोजना में समर्थन पुस्तकालय को बदल दिया और नवीनतम संस्करण के साथ सभी संदर्भित पुस्तकालयों में। तब मैंने अपनी परियोजना को साफ कर दिया, हालांकि मैं संदर्भित पुस्तकालयों को भी साफ और पुनर्निर्माण करना भूल गया ... इससे इस असाधारण व्यवहार का कारण बन गया।

+0

क्या आप वाकई सुनिश्चित हैं कि आपके पास नवीनतम संगतता पैकेज (नवीनतम एसडीके अपडेट से) है? – Luksprog

+1

हाय! हां, यह समर्थन लाइब्रेरी रिलीज 11 है ... – Peter

उत्तर

0

सॉल्वड: मैंने अपनी परियोजना में समर्थन पुस्तकालय को बदल दिया और नवीनतम संस्करण के साथ सभी संदर्भित पुस्तकालयों में। तब मैंने अपनी परियोजना को साफ कर दिया, हालांकि मैं संदर्भित पुस्तकालयों को भी साफ और पुनर्निर्माण करना भूल गया ... इससे इस असाधारण व्यवहार का कारण बन गया।

4

सुनिश्चित करें कि आपके संदर्भित पुस्तकालयों में से कोई भी समर्थन लाइब्रेरी v13 का उपयोग नहीं करता है। यदि आप केवल v13 लाइब्रेरी का उपयोग करते हैं तो आपकी सभी परियोजनाओं में v13 का उपयोग करके संदर्भित किया जाएगा और यह getChildFragmentManager() विधि में हस्तक्षेप करता है। अधिक जानकारी के लिए THIS QUESTION देखें और प्रोजेक्ट करते समय कंसोल प्रिंट आउट पर ध्यान दें-> अपने पूरे वर्कस्पेस पर साफ करें (मान लें कि आप ग्रहण का उपयोग कर रहे हैं)।

मुझे आपके जैसा ही मुद्दा था, लेकिन एक बार जब मैंने v13 लाइब्रेरी को संदर्भित पांच पुस्तकालयों में से एक से हटा दिया तो इसे हल हो गया।

+0

हाय! आपका सुझाव देने के लिए धन्यवाद! हालांकि, मैं केवल अपनी परियोजना में संदर्भ पैकेज v4 का उपयोग कर रहा हूं और पुस्तकालयों का संदर्भ देता हूं। वैसे भी आपके सुझाव ने मुझे समस्या को हल करने में एक सुराग दिया, इसके लिए बहुत धन्यवाद! – Peter

+0

@ पीटर कूल। =) वास्तविक समस्या क्या थी? – Qw4z1

+3

हाय! वास्तविक समस्या यह थी कि हालांकि मैंने अपनी परियोजना में और संदर्भित पुस्तकालयों में पुस्तकालय संसाधनों को भी बदल दिया है, लेकिन मैंने सभी पुस्तकालयों को साफ और पुन: संकलित नहीं किया, केवल मेरा ऐप। मैं बस इसके बारे में भूल गया। और फिर, हालांकि, मेरे ऐप को सफलतापूर्वक संकलित किया गया था, कुछ समय पर रनटाइम पर यह विधि नहीं मिला था, ChildFragmentManager() क्योंकि लाइब्रेरी का उपयोग मैंने अभी भी समर्थन पैकेज के पिछले संस्करण के साथ संकलित किया था। – Peter

0

इसे ठीक करने का एकमात्र तरीका, केवल एंड्रॉइड-सपोर्ट-वी 4 लाइब्रेरी के साथ एक्शनबैरशेलॉक अपडेट कर रहा है, जो 1 9 .1 है। आप इसे एंड्रॉइड मैनेजर से अपलोड कर सकते हैं। इसके बाद इस बदलाव के साथ एपीके को दोबारा दोहराएं और आपको विधि मिल जाएगी।