2010-03-21 10 views
16

के साथ अपडेट नहीं कर रहा है मैंने res. लेआउट फ़ोल्डर में main.xml फ़ाइल में कुछ यूआई तत्व जोड़े और जब मैं कॉल के माध्यम से उन्हें एक्सेस करने का प्रयास करता हूं, R.layout.my_uielement, जो यूआई तत्व मैंने बनाया है वह है वहाँ नहीं। यहां तक ​​कि जब मैं यूआई तत्वों के साथ एक नई एक्सएमएल फ़ाइल जोड़ता हूं, तब भी यह R.layout कक्षा में दिखाई नहीं देता है। मैंने उन पर आईडी की जांच की है और उनके पास सही प्रारूप है (मुझे लगता है): android:id="@+id/my_button"। क्या समस्या हो सकती है? क्या मुझे पहले कोड संकलित करने की आवश्यकता है?
अद्यतन:
मैं पहले से ही तो adb start-serveradb kill-server कोशिश की है। यह मदद नहीं प्रतीत होता है। मैंने R.id.my_uielement भी कोशिश की है, यह या तो पंजीकृत नहीं है।आर.जेवा फ़ाइल यूआई तत्व की आईडी

+4

क्या आपने ग्रहण में स्वच्छ परियोजना की कोशिश की है? क्या एक्सएमएल फाइल सही फ़ोल्डर में हैं? – Pentium10

+1

हाँ वे res \ layout फ़ोल्डर में हैं। स्वच्छ परियोजना या तो काम नहीं करती है। –

+1

ग्रहण एडीटी प्लगइन्स को अपग्रेड करें। स्रोत को एक नए फ़ोल्डर में कॉपी करें, और एक नई परियोजना में आयात करें। आपके पास मौजूद XML फ़ाइल को पुन: प्रयास करने का प्रयास करें। यदि आप पाते हैं तो वैसे भी उत्तर पोस्ट करें। – Pentium10

उत्तर

35

आपके मामले में ऐसा नहीं हो सकता है, लेकिन मैं का उपयोग कभी कभी जब मैं android.R पैकेज (डिफ़ॉल्ट एंड्रॉयड संसाधन) से कुछ का उपयोग करें और मेरे अपने संसाधन पैकेज से कुछ भी संदर्भ देने से पहले मेरी कक्षा में, ग्रहण ने मेरे आयात में import android.R; कथन जोड़ा। यह आपके पैकेज के संसाधनों को स्पष्ट रूप से देखने के डिफ़ॉल्ट व्यवहार के साथ संघर्ष करेगा।

import Android.R; के लिए अपने आयात विवरण देखें। यदि यह वहां है, तो इसे हटा दें। और, यदि आप एंड्रॉइड.आर से कुछ भी उपयोग कर रहे हैं, तो कोड में इसका उपयोग करते समय इसे पूरी तरह अर्हता प्राप्त करें।

+0

शानदार! काश मैं आपको 100 अप-वोट दे सकता हूं: डी मैं इतने लंबे समय से उत्तर ढूंढ रहा हूं। धन्यवाद! – marienke

6

उपयोग R.id.your_ui_element, नहीं R.layout.your_element

+0

यह या तो काम नहीं करता है। –

2

मुझे भी इस समस्या का सामना करना पड़ा। आरजेवा न तो उत्पन्न हुआ था और न ही अद्यतन किया गया था।

यदि R.java उत्पन्न नहीं हुआ है, तो आप अपनी 'खाली' प्रोजेक्ट चलाएं। संसाधनों के संदर्भ के साथ एक आरजेवा स्वचालित रूप से जेनरेट हो जाएगा।

R.java तो नहीं मिल रहा है अद्यतन, सहायता में नई जानकारी देखें -> ग्रहण में अपडेट के लिए जाँच करें और आपका SDK और एडीटी अद्यतन यदि आवश्यक हो।

+0

इससे मुझे सफाई परियोजना के संयोजन के साथ मदद मिली। –

+0

@ इगोरजी। मुझे खुशी है कि इससे मदद मिली। मैंने स्टैक ओवरफ्लो – Pramod

9

स्वच्छ परियोजना ठीक काम करती है। ग्रहण में यदि आप कुछ एक्सएमएल घटकों को बदलते हैं, तो यह हमेशा एक नई आर फ़ाइल उत्पन्न नहीं करता है। सफाई यह करता है।

+1

पर इस प्रश्न पर आने से 2 दिन पहले बिताया, हाँ, यह काम करता है, धन्यवाद! – Signcodeindie

+1

धन्यवाद यह मेरे लिए काम किया। – Wak

+0

धन्यवाद, यह मेरे लिए काम किया। –

2

2 दिनों के बाद मैं इसे ठीक करने के लिए एक तरह से ...

मुझे अपने मेल में आधा किया परियोजना बचा लिया पाया है, इसलिए जब R.java गायब हो गई मैं सिर्फ पुराने R.java फ़ाइल से बदल दिया है, इस का एक बहुत तय त्रुटियों, तो आवश्यक परिवर्तन किए हैं और परियोजना (यह साफ नहीं निर्माण) ... मैं नहीं जानता कि स्वच्छ और निर्माण एक ही काम करता है या हर not..but मैं इसे साफ, R.java अदृश्य जाया करते थे कि क्या ...

बनाया
1

मैंने देखा है कि मेरी R.java फ़ाइल हमेशा ठीक से जब मैं अपने strings.xml फ़ाइल या कहीं और करने के लिए आइटम जोड़ने अद्यतन नहीं किया जा रहा है। अगर मैं एक नया मान मैं R.string.newString की तरह जोड़ा का उपयोग वास्तविक पूर्णांक मान अभी भी R.string.oldString की ओर इशारा करते हो सकता है या जो कुछ भी (यह आम तौर पर एकदम ऊपर या नीचे strings.xml में नए तत्व तत्व हो रहा है लेकिन मैंने अभी तक निश्चित रूप से पैटर्न को कम नहीं किया है)।

आप R.java फ़ाइल को संशोधित करने वाला नहीं कर रहे हैं, लेकिन यह (वैसे भी नहीं है कि मैंने देखा है,) इसे हटाने के बारे में कुछ नहीं कहा। मैंने पाया है कि R.java को हटाने से आमतौर पर मेरे संसाधन से संबंधित समस्याओं को हल किया जाता है क्योंकि ग्रहण फ़ाइल को तुरंत पूर्णांक वाले पूर्णांक मानों के साथ फ़ाइल को पुन: उत्पन्न करता है।

कृपया ध्यान दें, मैं एक्लिप्स में बहुत शुरुआत कर रहा हूं, इसलिए मैं आरजेवा को हटाने के परिणामों को समझ नहीं पा रहा हूं लेकिन ऐसा लगता है कि अब तक मेरे लिए अच्छा काम कर रहा है।अगर मैं कर रहा हूं तो बहुत बुरा है, कृपया मुझे बताएं।

2

स्वच्छ क्योंकि यह सफाई के बाद परियोजना का निर्माण काम कर रहा है। तो समस्या यह है कि (कम से कम यह मेरे मामले में था, क्योंकि मैंने कुछ दिनों पहले स्वचालित बिल्ड को बंद कर दिया था) कि जब आप किसी .xml फ़ाइल में कोई आइटम या कुछ भी जोड़ते हैं, तो ग्रहण इसे नहीं बनाता है और नहीं कर सकता आरजेवा रीफ्रेश करें।

1

इनमें से कोई भी मेरे लिए काम नहीं करता! एकमात्र तरीका मैं @+id/foo तक पहुंच सकता हूं myPackage.R.id.foo है।

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