470 votes

Comment écrire le caractère & dans les strings.xml d'Android ?

J'ai écrit ce qui suit dans le fichier strings.xml :

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

J'ai obtenu l'erreur suivante :

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

Comment puis-je écrire le caractère & dans le strings.xml ?

7voto

AZ_ Points 7127

Vous pouvez trouver tous les caractères spéciaux HTML sur cette page. http://www.degraeve.com/reference/specialcharacters.php Il suffit de remplacer le code où vous voulez mettre ce caractère :-)

0 votes

GetString() ne convertit pas " j'ai dû utiliser \u0022

4voto

caulitomaz Points 51

Il est également possible de mettre le contenu de votre chaîne dans un CDATA XML, comme Android Studio le fait pour vous lorsque vous Extract string resource

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

4voto

user2851687 Points 118

Ceci peut être très vieux. Mais pour ceux qui cherchent un code rapide.

 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;
 }

Cela gère les caractères d'échappement, vous pouvez ajouter des caractères et des symboles sur leurs tableaux respectifs.

-Cheers

3voto

A.G.THAMAYS Points 1997

Pour éviter l'erreur, utilisez la chaîne d'extraction :

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

2voto

Ghayas Ahmad Points 34

& en chaîne comme :

<string name="string_abc">Translate &amp; Scan Objects</string>

La sortie sera :

Traduire et scanner des objets

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X