मेरे पास कुछ कोड है जो सफलतापूर्वक ViewTreeObserver#removeOnGlobalLayoutListener(...)
का उपयोग करके संकलित करता है और जब यह चलता है, तो यह विधि NoSuchMethodError
फेंकता है। क्यूं कर?RemOOGGobalLayoutListener क्यों एक NoSuchMethodError फेंक देता है?
उत्तर
दोViewTreeObserver
में लगभग समान नाम के साथ विधियां हैं।
removeOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
( पर तो वैश्विक) एक विधि है कि एपीआई में जोड़ा गया है 16. यह
removeGlobalOnLayoutListener(ViewTreeObserver.OnGlobalLayoutListener victim)
(वैश्विक तो पर ) जो बदल देता है एपीआई 1 के बाद से अस्तित्व में था, लेकिन अब इसे हटा दिया गया है।
संकलन समय पर दोनों विधियां उपस्थित हो सकती हैं (यदि आप जेलीबीन या उच्चतर के खिलाफ निर्माण कर रहे हैं) लेकिन नया व्यक्ति जेलीबीन उपकरणों पर असफल हो जाएगा।
इस कोड त्रुटि thwarts:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
thing.removeGlobalOnLayoutListener(victim);
} else {
thing.removeOnGlobalLayoutListener(victim);
}
धन्यवाद आप अपनी समस्या और समाधान साझा करने के लिए। मैंने आपके कोड की कोशिश की और अभी भी समस्या का सामना करना पड़ा। क्या आप http://stackoverflow.com/questions/18285540/stop-listening-for-more-listener-events पर मेरे प्रश्न देखेंगे? – Geek
वाह, ऐसा लगता है कि Google डेवलपर को ट्रॉल करने का प्रयास कर रहा है। इस समाधान के लिए धन्यवाद! –
हा, मुझे पता है तुम्हारा क्या मतलब है! मुझे लगता है कि यह 'ViewTreeObserver # addOnGlobalLayoutListener (ViewTreeObserver.OnGlobalLayoutListener)' के साथ स्थिरता के लिए है और किसी ने एंड्रॉइड 1.5 में गलती की है, और एंड्रॉइड 4 तक इसे ठीक करने के लिए कोई भी परेशान नहीं है .... –
मुझे लगता है कि आप ViewTreeObserver क्लास से removeOnGlobalLayoutListener के बारे में बात कर रहे हैं। यह विधि एपीआई स्तर 16 में जोड़ा गया था। मेरा सबसे अच्छा अनुमान यह है कि आप एंड्रॉइड के पुराने संस्करण को चलाने वाले डिवाइस पर इसका उपयोग करने का प्रयास करते हैं, यही कारण है कि यह नहीं मिला।
मुझे पता है, मैंने अभी पाया है और सोचा है कि यह हर किसी को 'removeGlobalOnLayoutListener (...) '(बहिष्कृत, एपीआई 1) के बारे में बताने लायक होगा :) –
मैं कोड
public static void removeOnGlobalLayoutListener(View v, ViewTreeObserver.OnGlobalLayoutListener listener){
if (Build.VERSION.SDK_INT < 16) {
v.getViewTreeObserver().removeGlobalOnLayoutListener(listener);
} else {
v.getViewTreeObserver().removeOnGlobalLayoutListener(listener);
}
}
- 1. NumberFormat.format क्यों एक NullPointerException फेंक देता है?
- 2. Observable.Generate() सिस्टम क्यों फेंक देता है। StackOverflowException?
- 3. IPAddress.MapToIPv4() क्यों ArgumentOutOfRangeException फेंक देता है?
- 4. NHibernate क्यों "StaleObjectStateException" फेंक देता है?
- 5. XmlDocument.LoadXml क्यों System.Net.WebException फेंक देता है?
- 6. StreamReader.ReadLine क्यों OutOfMemoryException फेंक देता है?
- 7. यह रिकर्सिव कोड क्यों एक segfault फेंक देता है?
- 8. यह एक शून्य संदर्भ अपवाद क्यों फेंक देता है?
- 9. एक अभिव्यक्ति फेंक क्यों है?
- 10. कार्य क्यों नहीं करता है। WaitAny अपवाद फेंक देता है?
- 11. क्यों संपत्ति सेट StackOverflow अपवाद फेंक देता है?
- 12. pthread_exit इलिप्सिस द्वारा पकड़ा गया कुछ फेंक क्यों देता है?
- 13. क्यों PHP अब "अपरिभाषित ऑफ़सेट" नोटिस फेंक नहीं देता है?
- 14. NoSuchMethodError जब स्केला
- 15. NoSuchMethodError FileSystemXmlApplicationContext
- 16. एक ऑब्जेक्ट शाब्दिक पर सीधे संपत्ति का उपयोग क्यों एक सिंटेक्स त्रुटि को फेंक देता है?
- 17. एक शून्य मूल्य में जोड़ने का प्रयास क्यों नहीं करता एक अवैधऑपरेशन अपवाद फेंक देता है?
- 18. बटन.सेटबैकग्राउंड (ड्राइटेबल पृष्ठभूमि) NoSuchMethodError
- 19. क्यों std :: shared_ptr dereference एक शून्य सूचक अपवाद (या समान) फेंक नहीं देता है?
- 20. नेट 2+: क्यों (1 == शून्य) अब एक कंपाइलर अपवाद फेंक नहीं देता है?
- 21. AVCaptureStillImageOutput jpegStillImageNSDataRepresentation एक नमूना बफर के साथ अपवाद फेंक देता है क्यों?
- 22. बुलीयन कथन से एक टर्नरी कथन से शून्य मूल्य को एनपीई फेंक क्यों देता है?
- 23. एक वसंत डेटा भंडार पर getOne (...) क्यों EntityNotFoundException फेंक नहीं देता है?
- 24. एक वर्णसेट से एक नई स्ट्रिंग बनाना फेंकता NoSuchMethodError (Android)
- 25. NoSuchMethodError getChildFragmentManager()
- 26. NoSuchMethodError: String.isEmpty
- 27. NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()
- 28. हो रही है NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()
- 29. एंड्रॉइड - iTemLongClick (...) एक बूलियन क्यों देता है?
- 30. System.Web.HttpContext.Current.User.Identity.Name एक खाली स्ट्रिंग क्यों देता है?
काम कर रहा है कहाँ कोड है:
तो यह कोड करता है? – Rawkode
मुझे समाधान पता है, मैं सिर्फ लोकप्रिय और जीवंत प्रश्न-उत्तर-उत्तर प्रारूप में पोस्ट कर रहा था :) –
मुझे लगता है कि आप केवल कुछ अपवॉट प्राप्त करने की कोशिश कर रहे थे, लेकिन आप कम से कम @azertiti को दाएं दे सकते हैं उत्तर :) – Rigotti