2013-03-29 6 views
71

से पहले नहीं Apostrophe \ से पहले नहीं (में '{स्ट्रिंग}' होता है {बार})Apostrophe मैं एक स्ट्रिंग एक एंड्रॉयड एप्लिकेशन में परिभाषित किया

मैं चीजों के एक नंबर इसे ठीक करने की कोशिश की है:

<string name="search_occurs">\'{string}\' occurs {times}</string> 
<string name="search_occurs">&apos;{string}&apos; occurs {times}</string> 
<string name="search_occurs"><![CDATA['{string}' occurs {times}]]></string> 
<string name="search_occurs"><![CDATA[\'{string}\' occurs {times}]]></string> 

मैं त्रुटि से छुटकारा पाने के लिए सक्षम नहीं हूँ। मैं क्या खो रहा हूँ?

+6

'\ 'मेरे लिए काम करता है। बस ग्रहण में कोशिश की। – CommonsWare

+4

जब मैंने एस्ट्रोफ़े के सामने बैकस्लैश जोड़ा, तो यह 'क्लीन' के लिए आवश्यक हो गया और त्रुटि के बारे में शिकायत करना बंद करने के लिए ग्रहण के लिए पूरी परियोजना का पुनर्निर्माण करना आवश्यक हो गया। – Stan

उत्तर

89

इन दोनों काम http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling के अनुसार करना चाहिए:

<string name="search_occurs">\'{string}\' occurs {times}</string> 
<string name="search_occurs">"'{string}' occurs {times}"</string> 
+4

दूसरा काम किया। धन्यवाद। –

+0

सबसे पहले मेरे लिए काम किया दूसरे परीक्षण नहीं किया। ग्रेट वर्क – VVB

+2

दोनों को, और दोनों मामलों में एंड्रॉइड स्टूडियो का निर्माण करने से पहले उद्धरण और बैकस्लैश ट्रिम करना चाहिए, यह भी एक उद्धरण में \ u0027 परिवर्तित करता है और फिर त्रुटि प्रदर्शित करता है। –

3

आप जिस स्ट्रिंग को प्रतिस्थापित करते हैं उसके साथ ' प्रदान नहीं करते हैं?

इसके अलावा आप इस तरह की संरचनाएं जानते हैं?

<string name="profile_age_range_text_between">between %1$d and %2$d</string> 
<string name="unit_height_inches">%1$d\'%2$d ft</string> 
<string name="unit_distance_miles">%s mi</string> 
44

बस से पहले डाल दिया \ 'अपने स्ट्रिंग में यह गलत यह \ की सही :)

+0

क्या ऐसा करने का कोई साफ तरीका है? मैं अपने ऐप को फ्रेंच में स्थानांतरित कर रहा हूं और मेरे स्ट्रिंग फ़ोल्डर में बहुत सारे टेक्स्ट हैं। तो सभी पाठों के माध्यम से जाकर और बैकस्लैश जोड़ना स्पष्ट रूप से सबसे अच्छा विचार नहीं है। –

+0

नहीं, यह एकमात्र तरीका है। –

+0

@The_Martian मुझे एक ही समस्या है, क्या आपको सुझाए गए एक के अलावा कोई रास्ता मिला? – Nobody

0

जवाब में https://stackoverflow.com/users/3339394/the-martian को 'द्वारा \' को बदलने के लिए सामान्य समाधान है, आपको टेक्स्ट को एक शब्द संपादक (जैसे नोटपैड ++) में कॉपी करना होगा और फिर कार्यक्रम में "प्रतिस्थापन" विकल्प का उपयोग करके पूरे के साथ \ 'को प्रतिस्थापित करें।

0

यह त्रुटि एपोस्ट्रोफ़ी स्ट्रिंग में प्रयुक्त

बदलें के साथ \ 'Apostrophe Thats सभी

-1

मैं के कारण होता है (क्योंकि मैं काफी प्रतिष्ठा मैं एक जवाब खेद है! में यह लिखना पड़ा नहीं है) मेरे परिदृश्य के आधार पर समाधान मिला।

  1. एक्सप्लोरर
  2. संपादित string.xml फ़ाइल से पंक्ति में अपनी string.xml फ़ाइल
  3. राइट क्लिक करें और खुले शो का चयन करें और कोड को बचाने के।
  4. एंड्रॉइड स्टूडियो को दोबारा खोलें और समाधान को रीफ्रेश करें।

अब कोड चलाया जाएगा।

नोट: मैं नहीं कर सकते हैं पर Apostrophe का उपयोग करने में त्रुटि मिली। इसलिए मैं में बदल सकता हूं नहीं। अब मेरा परिदृश्य काम करेगा।

1

हर (')

टिप्पणी से पहले' के साथ (\ () या ऐड \ आपका apostrophe ) 'बदलें: केवल अंदर कॉपी() पाठ

1

सुनिश्चित करें कि आप हैं सही फ़ाइल को संपादित करना। this answer राज्यों के रूप में, जब आपको त्रुटि मिलती है, तो एंड्रॉइड स्टूडियो values.xml फ़ाइल खुलता है, जो आपकी मूल फ़ाइल के समान दिखता है।आपको मूल strings.xml फ़ाइल (या जहां भी अपमानजनक चरित्र है) में जोड़ना होगा। अन्यथा यह केवल त्रुटि दोहराना जारी रखेगा।

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