web-dev-qa-db-fra.com

Comment mettre un "-" dans le fichier string.xml

Je dois être capable de mettre un "-" dans la chaîne dans mon fichier strings.xml.

Mon problème est que lorsque je mets ma chaîne qui est "1261eba2-9d8c-11e1-93e3-40409e0f44a1", Eclipse crie: 

Plusieurs annotations trouvées à cette ligne: - Remplacez "-" par un caractère "en tiret" (-, & # 8211;)

Comment puis-je réparer cela?

73
roiberg

Ainsi, lorsque vous lirez le message d'erreur, votre réponse sera la suivante: vous devez remplacer - par –. Ensuite, cela devrait bien fonctionner =)

http://en.wikipedia.org/wiki/Dash

108
Phil

Les autres réponses sont acceptables lorsque vous souhaitez afficher la chaîne à l'utilisateur. L'utilisateur ne peut pas vraiment faire la différence entre un "vrai" tiret et la supercherie Unicode.
Mais si vous devez vraiment avoir le tiret (par exemple, parce que cette chaîne est utilisée quelque part comme mot de passe, ou comme clé d’URL pour une API), vous pouvez simplement utiliser ce format:

<resources xmlns:tools="http://schemas.Android.com/tools" tools:ignore="TypographyDashes">
    <string name="EVA_API_KEY">3c42b725-5e20-41c8-982f-dee40be8a05b</string>
</resources>

L’avertissement sera supprimé et la chaîne peut être lue à l’aide des éléments suivants:

getResources().getString(R.string.EVA_API_KEY);
77
Tal Weiss

Utilisez back slash (\) devant chaque caractère spécial. comme moi\& Android.

Ce personnage appelé évasion. (\)

14

Le tiret est un signe de ponctuation semblable à un trait d'union ou à un signe moins, mais il diffère de ces deux symboles principalement par sa longueur et sa fonction. Les versions les plus courantes du tiret sont les tirets en (-) et em dash (-), nommés respectivement pour la longueur des lettres minuscule n et majuscule.

Référence

Il suffit de remplacer - par car lorsque vous tapez un tiret sur le clavier, XML lit le tiret comme étant moins, c'est tout.

3
Amr Ashraf

Pour un trait d'union (& # 45) (-) ...

<string name="abc">Welcome &#45; Bro...</string>

et pour plus de symboles utiliser le lien ci-dessous

http://www.degraeve.com/reference/specialcharacters.php

Prendre plaisir...

2
Ganesh Katikar

Vous avez probablement ceci:

<string name="test1">1261eba2-9d8c-11e1-93e3-40409e0f44a1</string>

Mais vous avez besoin de l’un des deux suivants:

<string name="test2">1261eba2&#8211;9d8c&#8211;11e1&#8211;93e3&#8211;40409e0f44a1</string>
<string name="test3">1261eba2–9d8c–11e1–93e3–40409e0f44a1</string>

Dans le second, le - est remplacé par un -. Il est difficile de faire la différence visuellement.

0
Maz

Le raccourci de solution rapide dans Eclipse est Ctrl + 1 par défaut et dans Android Studio, Alt + Enter par défaut.

0
Hasan El-Hefnawy