web-dev-qa-db-fra.com

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

J'ai écrit ceci dans le fichier strings.xml:

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

J'ai eu l'erreur suivante:

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

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

388
Palo

Encode le:

&amp;
961
Bob Fincheimer

Pour les caractères spéciaux, j'utilise normalement la définition Unicode, pour le '&' par exemple:\u0026 si j'ai raison. Voici une page de référence de Nice: http://jrgraphix.net/research/unicode_blocks.php?block=

157
Moss

Voici un de mes problèmes, ma solution est la suivante: Utilisez &gt; pour <, &lt;pour >, &amp; pour &, "'" pour ', &quot pour \"\"

40
Hai Rom

Même si on répond à votre question, je veux tout de même dire plus d’entités comme celle-ci. Ce sont html entities, donc dans Android vous les écrirez comme ceci:

Remplacez ci-dessous par:

& with &amp;
> with &gt;
< with &lt;
" with &quot;, &ldquo; or &rdquo;
' with &apos;, &lsquo; or &rsquo;
} with &#125;
9
Khemraj

Cela devrait être comme ça:

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

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

7
AZ_

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

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

4
caulitomaz

Cela peut être très vieux. Mais pour ceux qui recherchent 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.

-À votre santé

3
ralphgabb

Vous pouvez écrire de cette façon

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

Output: Vous et moi

2
Hoque MD Zahidul

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

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

Utilisateurs de Mac et Android studio:

Tapez votre caractère tel que & dans le string.xml ou la mise en page et choisissez les touches "Option" et "retour". S'il vous plaît se référer à la capture d'écran

0
Bellan