NoSuchFieldError: कक्षा Lcom / disdemo / R $ id में टाइप I की कोई स्थिर फ़ील्ड सूची दृश्य 1; या उसके सुपरक्लास


89

मेरे पास मॉड्यूल 1 (एंड्रॉइड स्टूडियो में) सूची दृश्य 1 के साथ activity_main.xml( मॉड्यूल 1 के वर्तमान में) है। इस मॉड्यूल की MainActivity उसी Android स्टूडियो प्रोजेक्ट में एक अन्य मॉड्यूल 2 से लॉन्च की जा रही है।

मैंने मॉड्यूल 1 को हटाने और फिर से उसी रेस और जावा फाइलों के साथ एक नया बनाने की कोशिश की है। फिर भी मुझे वही मुद्दा मिल रहा है।


मैंने मॉड्यूल को सेटिंग्स में जोड़ा है ।ग्रेड और बिल्ड.ग्रेडल
— कोमल गुप्ता

14
मेरे पास मेरे एक अन्य मॉड्यूल में भी गतिविधि_main.xml लेआउट था, इसलिए मुझे यह NoSuchField त्रुटि मिल रही थी। मैंने अपने एक मॉड्यूल में लेआउट का नाम बदला और यह काम किया।
— कोमल गुप्ता

काश मैं आपकी टिप्पणी 48 घंटे पहले पढ़ता, 2 दिन पहले से इस मुद्दे से जूझ रहा था !!
— मणि

2
मेरा मामला थोड़ा अलग था, क्योंकि मैंने एक मॉड्यूल से दूसरे में एक स्ट्रिंग संसाधन स्थानांतरित किया था। मेरे मामले में मुझे समस्या को ठीक करने के लिए सिर्फ Android स्टूडियो में Build> Clean पर क्लिक करना था।
— टोनी विकम

हां, आपके लिए यह डुप्लिकेट संसाधन फ़ाइल का मुद्दा नहीं था, इसलिए साफ -> बिल्ड काम किया।
— कोमल गुप्ता

जवाबों:


202

मुझे लगता है कि आपके पास लाइब्रेरी और मॉड्यूल दोनों में समान नाम वाला लेआउट है या डुप्लिकेट संसाधन आईडी के साथ कई xml लेआउट को फुलाया जा रहा है।


4
हाँ, वास्तव में ऐसा ही था। मैंने जल्द ही इसका पता लगा लिया लेकिन दुखद बात यह है कि इस पर बहुत समय बर्बाद हो गया, त्रुटि संदेश पर्याप्त सहज नहीं था। एंड्रॉइड स्टूडियो को अधिक व्यापक त्रुटि संदेशों को लॉग करना शुरू करना चाहिए।
— कोमल गुप्ता

6
बढ़िया है! अब आपको इसे अनुमोदित के रूप में चिह्नित करना चाहिए ताकि इस प्रकार के मुद्दे को हल करने के लिए एक और मदद कर सके।
— जोसेफ

1
यदि आप AS के रिफलेक्टर-नाम का उपयोग activity_main.xmlकरते हैं, तो यह उदाहरण के लिए सभी घटनाओं का नाम बदल देता है , बेहतर है कि इसे हाथ से करें।
— सर्व-

ऐप और मॉड्यूल में एक ही नाम के दो लेआउट के कारण मुझे यह त्रुटि हो रही थी। धन्यवाद!
— संदीप योहन

30

दोनों मॉड्यूल में, आपके पास ए activity_main.xml। कृपया एक फ़ाइल का नाम बदलें।

अपडेट: @kundan kamal क्या व्यक्त करना चाहता है, आपके पास एक समान नाम वाले दोनों मॉड्यूल में एक लेआउट फ़ाइल है।


2
यह 3 बजे तक बर्बाद हो गया :(। आप मेरा दिन बचाते हैं
— कार्तिक कोल्लानजी

8

आप कई मॉड्यूल का उपयोग करते हैं और किसी भी xml लेआउट का एक ही नाम देते हैं तो यह त्रुटि दें ताकि कृपया अपने xml लेआउट का नाम बदलें।


धन्यवाद। इसने मदद की
— विग्नेश्वरन

0

मेरे मामले में पहचानकर्ता अलग थे। मैंने दबाया Build > Rebuild Project। ऐसा इसलिए है क्योंकि मैं res/layoutसबफ़ोल्डर में विभाजित हूं , और एएसएम ने एक्सएमएल परिवर्तनों को नोटिस करने के लिए बंद कर दिया। विवरण के लिए Android Studio में xml लेआउट फ़ाइलों को बदलने के बाद आवश्यक पुनर्निर्माण देखें ।


0

इस तरह की त्रुटि मुझे एक बार हुई थी, लेकिन एक stringसंसाधन के साथ । मैंने अनुवाद फ़ाइल में स्ट्रिंग को कॉन्फ़िगर किया था, लेकिन डिफ़ॉल्ट स्ट्रिंग संसाधन फ़ाइल में नहीं, इसलिए इससे क्रैश का उत्पादन हुआ।


0

मुझे सही करें अगर मैं गलत नहीं हूँ ... मुझे लगता है कि आपके पास अपनी परियोजना में आपके पुस्तकालय और मॉड्यूल का एक ही नाम है, इसलिए आपको उनमें से एक का नाम बदलना होगा फिर उसका काम ठीक है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.