web-dev-qa-db-fra.com

Nouvelle ressource de chaîne / n impossible?

Il ne semble pas possible d'ajouter une nouvelle ligne "/ n" à une chaîne de ressource XML. Y a-t-il une autre façon de faire cela?

Merci

153
Andi Jay

utilisez une barre oblique inverse et non une barre oblique. "\ n"

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Hello\nWorld!</string>
</resources>

De plus, si vous envisagez d'utiliser la chaîne au format HTML, vous pouvez utiliser &lt;br /&gt; pour un saut de ligne (<br />).

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Hello&lt;br /&gt;World!</string>
</resources>
349
binnyb

Je sais que c’est une question assez ancienne, mais elle figurait en tête de liste lorsque j’ai cherché. Je voulais donc mettre à jour avec une autre méthode.

Dans le fichier strings.xml, vous pouvez effectuer le\n ou vous pouvez simplement appuyer sur Entrée:

<string name="Your string name" > This is your string.

   This is the second line of your string.\n\n Third line of your string.</string>

Cela se traduira par ce qui suit sur votre TextView:

Ceci est votre chaîne.

Ceci est la deuxième ligne de votre chaîne.

Troisième ligne de votre chaîne.

Cela est dû au fait qu'il y a eu deux retours entre la déclaration de début de la chaîne et la nouvelle ligne. J'y ai aussi ajouté le\n pour plus de clarté, car l'un ou l'autre peut être utilisé. J'aime utiliser les retours à la ligne dans le fichier xml pour pouvoir voir une liste ou la chaîne multiligne que j'ai. Mes deux centimes.

50
Dimesio

C'est une vieille question, mais j'ai constaté que lorsque vous créez une chaîne comme celle-ci:

<string name="newline_test">My
New line test</string>

La sortie dans votre application sera comme ça (pas de nouvelle ligne)

My New line test

Lorsque vous mettez la chaîne entre guillemets

<string name="newline_test">"My
New line test"</string>

la nouvelle ligne apparaîtra:

My 
New line test

J'espère que ça aide quelqu'un!

14
Peter

Si vous mettez "\ n" dans une chaîne du fichier xml, elle est considérée comme "\\ n"

Alors j'ai fait:

text = text.Replace("\\\n", "\n");   ( text is taken from resX file) 

Et puis je reçois un saut de ligne sur l'écran

2
flamandier

Lorsque vous utilisez l'éditeur de traduction dans Android Studio, cliquez simplement sur l'icône située à droite (ou utilisez Maj-Entrée), puis ajoutez des sauts de ligne à l'aide de la touche Entrée. Ceci insérera\n correctement dans le fichier strings.xml localisé.

2
Torkel Börjeson

Très simple il suffit de mettre
\ n où que vous souhaitiez interrompre une ligne dans votre ressource chaîne.

Par exemple

String s = my string resource have \n line break here;

1
Ali Nawaz

Dans la dernière version de Android studio, "\ n" sera imprimé comme il se doit, sauf si la chaîne entière est en apostrophes.

Par exemple:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">"Hello\nWorld!"</string>
</resources>
1
SventraPopizz

Je veux développer this répondre. Ce qu'ils voulaient dire, c'est cette icône:

Editor window button

Il ouvre une "fenêtre d'édition réelle" au lieu de la zone de texte à fonctionnalités limitées de la grande vue d'ensemble. Dans cette fenêtre d'éditeur, les caractères spéciaux, les sauts de ligne, etc. sont autorisés et convertis en "code" xml correct lors de l'enregistrement

0
avalancha