2012-06-13 15 views
13

मैं निम्नलिखित चयनकर्ता जब मैं फाहा मैं निम्न चेतावनी मिल चलाने button_selector.xmlअजीब एक प्रकार का वृक्ष चेतावनी - अप्रत्याशित पाठ लेआउट फ़ाइल में पाए: ""

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:state_pressed="true" 
      android:state_enabled="true" 
      android:drawable="@drawable/button_settlement_background_pressed" /> 
     <item android:state_enabled="true" 
      android:drawable="@drawable/button_settlement_background_normal" /> 
     <item android:state_enabled="false" 
      android:drawable="@drawable/button_settlement_background_disabled" /> 
     </selector> 

में परिभाषित किया गया है: अनपेक्षित पाठ लेआउट में पाया फ़ाइल: ""। यह कहता है कि यह "ड्रॉइंग" में लाइन 4 पर हो रहा है। सभी संदर्भित ड्रॉबल्स/res/drawable में मौजूद हैं।

क्या किसी को पता है कि इसका कारण क्या हो सकता है? मैं चेतावनी को अनदेखा कर सकता हूं लेकिन यदि संभव हो तो मैं इसे ठीक कर दूंगा।

इसके अलावा, मुझे अप्रयुक्त तारों और आइकन के लिए चेतावनियां मिलती हैं जब उन्हें केवल AndroidManifest.xml में संदर्भित किया जाता है। क्या उन्हें अनदेखा करने के बजाय उनको ठीक करने का कोई तरीका है?

+0

जबकि मैं इसमें हूं ... मेरी परियोजनाओं में xhdpi के लिए घनत्व फ़ोल्डर्स नहीं हैं इसलिए मैंने कहा कि प्रत्येक प्रोजेक्ट पर अनदेखा करने के लिए कुछ। हालांकि, संदर्भित परियोजनाओं के दौरान यह अभी भी त्रुटि की रिपोर्ट करता है। उदाहरण के लिए, मुझे लाइब्रेरी नामक एक प्रोजेक्ट मिला है जिसमें नियम lint.xml में सेट है।मेरे पास सेवा नामक एक और प्रोजेक्ट है जिसे नियम भी सेट किया गया है। एंड्रॉइड लाइब्रेरी के रूप में सेवा संदर्भ लाइब्रेरी। जब मैं लाइब्रेरी पर लिंट चलाता हूं तो यह त्रुटि की रिपोर्ट नहीं करता है, जो कि अच्छा है। जब मैं सेवा पर चलता हूं तो यह स्वयं के लिए त्रुटि की रिपोर्ट नहीं करता है लेकिन लाइब्रेरी के लिए इसकी रिपोर्ट करता है। : - | –

उत्तर

13

शायद सफेद जगह में कहीं भी एक अदृश्य चरित्र है। मैं एक्सएमएल को स्क्रैच से पुन: प्रयास करने की कोशिश करता हूं (प्रतिलिपि और पेस्ट का उपयोग नहीं कर रहा हूं, जो कि समस्या हो सकती है, अगर ऐसा हो रहा है)। मैं परियोजना को साफ और पुनर्निर्माण भी करूंगा।

जहां तक ​​अप्रयुक्त संसाधन चेतावनियां हैं, मुझे नहीं लगता कि इसे नियंत्रित करने का कोई तरीका है। पुस्तकालय परियोजनाओं के लिए झूठी सकारात्मक समस्याएं काफी खराब हैं। एंड्रॉइड लिंट एक बिल्कुल नया उपकरण है और (मेरी राय में) अभी भी बहुत सारे मोटे किनारों हैं।

+0

वह था। मैं अब 20 अलग-अलग चयनकर्ताओं के माध्यम से जा रहा हूं और उन्हें पुनर्जीवित कर रहा हूं। वाह! :) –

+0

@ जेम्स - बहुत मजेदार लगता है। :) –

+2

मैं अपने प्रोजेक्ट पर उसी समाधान का उपयोग करने वाला था जिसे मैंने कल शुरू किया क्योंकि मुझे कल भी यही समस्या थी। जब मैंने आज परियोजना को लोड किया (सबकुछ रिबूट करने के बाद) मैंने वास्तव में फाइल में एक डबल-कोट चरित्र देखा जो कल नहीं था! ऐसा लगता है कि आईडीई वास्तव में फाइल या वास्तव में क्या फाइल के बारे में भ्रमित हो गया है। बहुत अजीब। – BlueMonkMN

20

Project>Clean का उपयोग करना।

मेरे मामले में समस्या को ठीक किया गया।

+0

यह मेरे लिए भी काम करता है। साफ करने के बाद, अजीब चरित्र दिखाई दे रहा था, और मैंने इसे हटा दिया। – Cloud9999Strife

13

आप xml फ़ाइल (CTRL + SHIFT + F) भी प्रारूपित कर सकते हैं। अतिरिक्त पात्र प्रदर्शित होंगे।

1

मुझे पता चला कि अगर मैंने फ़ाइल बंद कर दी है तो मेरे पास छुपा चरित्र था, फिर उसी फ़ाइल को फिर से खोल दिया गया। चरित्र अब छुपा नहीं था (और आमतौर पर /> के बाद था,> उदाहरण के लिए /> ")

2

आम तौर पर, यह तब होता है जब आप" android: id = "जैसे किसी नई लाइन के बिना और ग्रहण ऑटो का उपयोग करते हैं पूरा होने के, इस तरह:

<LinearLayout 
      android:id= > 
        ^
यहाँ

प्रकार, कोड इस तरह प्रतीत होता है जाएगा:

<LinearLayout 
       android:id="@+id/ 

चरित्र '>' मिट गया है और '' 'अदृश्य हो।

छिपे हुए वर्ण ढूंढने के लिए फ़ाइल को प्रारूपित करने के लिए ctrl+shift+f का उपयोग करें।

-1

एक्सएमएल फ़ाइल में, टैग में विशेषताएं होती हैं। लाइन पर विचार करें: (पिछले ">" वहाँ नहीं होना चाहिए) ...

<selector xmlns:android="http://schemas.android.com/apk/res/android">

सुनिश्चित करें कि पहली पंक्ति पर टैग नहीं होता ">" बनाओ। <selector xmlns:android="http://schemas.android.com/apk/res/android" ... </selector>

अब अन्य तत्वों चयनकर्ता टैग के तहत कर रहे हैं:

साथ कोड ऊपर बदलें। आशा है कि ये आपकी मदद करेगा।

+0

यह गलत है। यदि "<" इसके बाद सबकुछ नहीं है तो उसे संपत्ति के रूप में पार्स किया जाएगा। चूंकि वे नेस्टेड टैग हैं, इसलिए फ़ाइल संकलित नहीं होगी। –

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