2011-05-04 6 views
21

मैं TextView में कुछ सरल टेक्स्ट रखना चाहते हैं ..कैसे एंड्रॉयड TextView में है करने के लिए "और" यानी और प्रतीक

की तरह ... (एंड्रॉयड & जावा)

का मतलब है मैं वास्तव में आवश्यकता होती है और में प्रतीक TextView ,,,

मैं TextView एंड्रॉयड के भीतर प्रदान किए जाने पर कर रहा हूँ: पाठ = "बेकरी & मिठाई" TextView में यह xml में त्रुटि दिखा रहा है ....

किसी को भी मुझे सुझाव है कि कैसे विशेष मामले के पात्रोंअनदेखी करने के लिए कर सकते हैं, "आदि और उन्हें हमारे TextView पाठ में है ...

सादर,

अर्पित

उत्तर

44

लेआउट फ़ाइलों सिर्फ एक्सएमएल कर रहे हैं और & प्रतीक अपने आप में अनुमति नहीं है।

आप & का उपयोग करने के बजाय

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML

+1

धन्यवाद एक बहुत ... !!! –

+0

अच्छी तरह से काम किया बहुत धन्यवाद !!! – Chetan

+0

बहुत धन्यवाद .......... !! –

2

की "बेकरी & मिठाई" मूल्य के साथ strings.xml में एक नया स्ट्रिंग को परिभाषित करना होगा।

फिर, लेआउट में घोषित

<TextView android:text="@string/your_string_value"></TextView>

बाद में संपादित करें:

सीमा स्पष्ट रूप से काम नहीं करेगा नाकाम करने के लिए एक और एक्सएमएल फ़ाइल में XML के लिए कोई अमान्य वर्ण जोड़ना। हालांकि, यदि आप स्ट्रिंग्स.एक्सएमएल में एक नया मान जोड़ते हैं, तो &, < और > जैसे वर्ण HTML समकक्ष (&amp;&lt;&gt;) द्वारा स्वचालित रूप से प्रतिस्थापित किए जाएंगे।

+0

यह काम नहीं करेगा क्योंकि स्ट्रिंग्स.एक्सएमएल अभी भी एक एक्सएमएल फाइल है और "&" अभी भी एक्सएमएल में एक आरक्षित चरित्र है। अगर आप घोषणा को strings.xml पर ले जाते हैं तो एक एक्सएमएल एस्केप अनुक्रम की आवश्यकता होगी। –

+0

आप सही हैं, मैं पर्याप्त ध्यान नहीं दे रहा था। जब मैंने स्ट्रिंग जोड़ा, ग्रहण स्वचालित रूप से '&' से & 'में बदल गया। –

2

लेआउट फ़ाइल एक एक्सएमएल फ़ाइल है और इसमें कुछ प्रतिबंध हैं जिन पर वर्णों का उपयोग किया जा सकता है। हालांकि, आप एक्सएमएल से विशेष अर्थ रखने वाले अक्षरों को प्रदर्शित करने के लिए एक्सएमएल एस्केप अनुक्रमों का उपयोग कर सकते हैं। इस मामले में, "बेकरी & मिठाई" स्ट्रिंग के साथ "बेकरी & amp मिठाई" को प्रतिस्थापित करें और आपको वह व्यवहार प्राप्त करना चाहिए जो आपको चाहिए। एन्कोड करने के लिए HTML का उपयोग कर कोड

TextView tv = (TextView)findViewById(R.id.textview); 
tv.setText("input"); 

द्वारा पाठ सेट करने के लिए

+0

लेकिन जब डेटाबेस से आता है और मेरा कोई प्रभाव नहीं पड़ता है? – Martin

13

लेआउट फ़ाइलें हैं सिर्फ एक्सएमएल डिकोड और & प्रतीक अपने आप में अनुमति नहीं है।

आप यूनिकोड उपयोग कर रहा है यह ठीक

<string name="contest_giveaways" formatted="false">Contests &amp; Giveaways</string> 
6

एक और इसे सुलझाने के लिए जिस तरह से काम करेंगे &

के बजाय & उपयोग करने के लिए की आवश्यकता होगी:

  1. में अपना पाठ सेट आपका एक्सएमएल

    android:text="@string/myNameHere"

  2. तार में एक्सएमएल निम्न पंक्ति जोड़ें:

    <string name="myNameHere">bakeries \u0026 desserts</string>

देखा!

+1

वास्तव में यह मेरी बहुत मदद करता है ... धन्यवाद bofredo –

12

उपयोग करें:

&lt; for < 
    &gt; for > 
    &amp; for & 

उदाहरण:

<string name="lessthan"> &lt; teste &gt;</string> 
    <string name="link"> Puzzles &amp; code </string> 
संबंधित मुद्दे