2010-06-16 18 views
319

ho scritto quanto segue nel file strings.xml:Come posso scrivere personaggio e in strings.xml Android

<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string> 

ho ottenuto il seguente errore:

The reference to entity "Drop" must end with the ';' delimiter. 

Come posso scrivere personaggio & in lo strings.xml?

risposta

798

codificarlo:

&amp; 
+29

per ottenere i codici utilizzano http://www.mikezilla.com/exp0012.html converte qualsiasi cosa si digita, quindi non è necessario cercare i valori – Entreco

+0

http://www.mikezilla.com/exp0012.html -> Collegamento interrotto. –

+0

Se si utilizza CDATA, tenere presente che alcuni caratteri sono riservati. © -> © Fare riferimento a questo articolo. http://www.w3schools.com/html/html_entities.asp – toidiu

140

Per carattere speciale Io di solito uso la definizione Unicode, per il '&' per esempio: \ u0026 se non sbaglio. Ecco una bella pagina di riferimento: http://jrgraphix.net/research/unicode_blocks.php?block=0

+12

+1 per la tabella Unicode – Necronet

+0

Questo sembra funzionare al meglio. $ Amp; esce da getString() senza essere convertito. Quindi è un dolore. – Adam

+1

Questo non ha funzionato per me per alcuni simboli, come \ u227A. –

2

E 'anche possibile mettere il contenuto della stringa in un CDATA XML, come Android Studio fa per voi quando si Extract string resource

<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>

2

Questo potrebbe essere molto vecchio. Ma per coloro che cercano un codice veloce.

public String handleEscapeCharacter(String str) { 
    String[] escapeCharacters = { "&gt;", "&lt;", "&amp;", "&quot;", "&apos;" }; 
    String[] onReadableCharacter = {">", "<", "&", "\"\"", "'"}; 
    for (int i = 0; i < escapeCharacters.length; i++) { 
     str = str.replace(escapeCharacters[i], onReadableCharacter[i]); 
    } return str; 
} 

Questo gestisce i caratteri di escape, è possibile aggiungere caratteri e simboli sui rispettivi array.

-Cheers

26

Questa è una mia problemi, la mia soluzione è la seguente: Usa &gt; per <, &lt; per>, &amp; per &, "'" per ', &quot per \ "\"

4

E' dovrebbe essere simile a questo:

<string name="game_settings_dragNDropMove_checkBox">Move by Drag&amp;Drop</string> 
0

Per evitare la stringa di errore, utilizzo estratto:

<string name="travels_tours_pvt_ltd"><![CDATA[Travels & Tours (Pvt) Ltd.]]></string> 
0

È possibile scrivere in questo modo

<string name="you_me">You &#38; Me<string> 

uscita: È & Me

Problemi correlati