Comment append un saut de ligne dans un TextView Android?

J’essaie d’append un saut de ligne dans TextView.

J’ai essayé de suggérer \ n mais cela ne fait rien. Voici comment je mets mes textes.

TextView txtSubTitle = (TextView)findViewById(r.id.txtSubTitle); txtSubTitle.setText(Html.fromHtml(getResources().getSsortingng(R.ssortingng.sample_ssortingng))); 

Voici ma chaîne de caractères: some test line 1 \n some test line 2

Il devrait montrer comme ça:

 some test line 1 some test line 2 

Mais ça se voit comme ça: some test line 1 some test line 2 .

Est-ce que je manque quelque chose?

\n fonctionne pour moi, comme ceci:

  

ok l’a compris:

 < ![CDATA[some test line 1 
some test line 2]]>

donc envelopper dans CDATA est nécessaire et les ruptures ajoutées à l’intérieur en tant que balises html

Merci à tous pour votre aide!

La version Android 1.6 ne reconnaît pas \ r \ n. Au lieu de cela, utilisez: System.getProperty (“line.separator”)

 Ssortingng s = "Line 1" + System.getProperty ("line.separator") + "Line 2" + System.getProperty ("line.separator"); 

Les sauts de ligne (\ n) ne fonctionnent que si vous mettez votre valeur de ressource de chaîne entre guillemets comme ceci:

 "some test line 1 \n some test line 2" 

Il ne fera pas de sauts de ligne si vous le mettez sans guillemets comme ceci:

 some test line 1 \n some test line 2 

oui, c’est aussi simple que ça.

Essayé tout ce qui précède, fait quelques recherches sur moi-même résultant de la solution suivante pour le rendu des caractères d’échappement saut de ligne:

 ssortingng = ssortingng.replace("\\\n", System.getProperty("line.separator")); 
  1. En utilisant la méthode replace, vous devez filtrer les sauts de ligne échappés (ex: ‘\\ n’)

  2. Ce n’est qu’alors que chaque instance de saut de ligne ‘\ n’ escape chars est rendue dans le saut de ligne réel.

Pour cet exemple, j’ai utilisé une firebase database noSQL Scripting de Google Apps (ScriptDb) avec des données au format JSON.

Cheers: D

Cela a fonctionné pour moi

 android:text="First \n Second" 

Cela a fonctionné pour moi, peut-être que quelqu’un trouvera cela utile:

 TextView textField = (TextView) findViewById(R.id.textview1); textField.setText("First line of text" + System.getProperty("line.separator") + "Linija 2"); 

Il y a deux façons de contourner cela. Si vous utilisez votre chaîne en tant que chaîne brute, vous devez utiliser le caractère de nouvelle ligne. Si vous l’utilisez comme HTML, par exemple en l’parsing avec Html.fromSsortingng , la deuxième variante est meilleure.

1) Caractère de nouvelle ligne \n

  This
is a sample

Utilisé Android Studio 0.8.9. La seule façon de travailler pour moi est d’utiliser \n . Ni emballage avec CDATA, ni fichier, ni
travaillé.

Si vous utilisez XML pour déclarer votre TextView utiliser android:singleLine = "false" ou en Java, utilisez txtSubTitle.setSingleLine(false);

J’utilise les éléments suivants:

 YOUR_TEXTVIEW.setText("Got some text \n another line"); 

très facile: utilisez “\ n”

  Ssortingng aSsortingng1 = "abcd"; Ssortingng aSsortingng2 = "1234"; mSomeTextView.setText(aSsortingng1 + "\n" + aSsortingng2); 

\ n correspond au caractère ASCII 0xA, qui est “LF” ou à la ligne

\ r correspond au caractère ASCII 0xD, qui est ‘CR’ ou retour chariot

cela remonte aux toutes premières machines à écrire, où vous pouvez choisir de ne faire qu’un saut de ligne (et de ne taper qu’une ligne plus bas), ou un saut de ligne + retour chariot (qui se déplace également au début d’une ligne)

sur Android / java, le \ n correspond à un retour chariot + un saut de ligne, car sinon vous écraseriez simplement la même ligne

Essayez de vérifier vos localisations. Possible, vous essayez d’éditer un fichier (localisation), mais vous programmez en utilisant un autre, comme dans mon cas . La langue par défaut du système est le russe, alors que j’essaie de modifier la localisation en anglais.

Dans mon cas, la solution de travail consiste à utiliser “\ n” comme séparateur de ligne:

  line one. \nline two; \nline three. 

Vous pouvez également append "<br/>" au lieu de \ n.

C’est du code HTML échappé pour

Et puis vous pouvez append du texte à TexView:

 articleTextView.setText(Html.fromHtml(textForTextView)); 

Vous pouvez également utiliser l’éditeur de chaînes d’Android Studio, il génère automatiquement des freins de ligne et des choses comme ça …

Comme Html.fromHtml obsolète, j’ai simplement utilisé ce code pour obtenir Ssortingng2 dans la ligne suivante.

 textView.setText(fromHtml("Ssortingng1 
Ssortingng2"));

.

 @SuppressWarnings("deprecation") public static Spanned fromHtml(Ssortingng html){ Spanned result; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { result = Html.fromHtml(html,Html.FROM_HTML_MODE_LEGACY); } else { result = Html.fromHtml(html); } return result; } 

J’ai trouvé une autre méthode: il faut append l’ atsortingbutandroid: maxWidth =” 40dp “ “. Bien sûr, cela ne fonctionnera peut-être pas parfaitement, mais cela donne un saut de ligne.

La méthode la plus simple consiste à accéder aux valeurs / chaînes (dans votre dossier de ressources).

Déclarez une chaîne ici:

  Line 1\Line2\Line n 

Et dans votre fichier xml spécifique appelez simplement la chaîne comme

   

\ n ne fonctionnait pas pour moi. J’ai pu résoudre le problème en changeant le fichier XML en texte et en créant la propriété textview text comme ci-dessous.

 android:text="Line 1 Line 2 Line 3 DoubleSpace" 

J’espère que cela aide ceux qui ont dit que \ n n’a pas fonctionné pour eux.

Je lis mon texte à partir d’un fichier, alors j’ai adopté une approche légèrement différente, car l’ajout de \ n au fichier entraînait l’apparition de \ n dans le texte.

  final TextView textView = (TextView) findViewById(R.id.warm_up_view); SsortingngBuilder sb = new SsortingngBuilder(); Scanner scanner = new Scanner(getResources().openRawResource(R.raw.warm_up_file)); while (scanner.hasNextLine()) { sb.append(scanner.nextLine()); sb.append("\n"); } textView.setText(sb.toSsortingng()); 

Peut-être que vous êtes en mesure de mettre le lf dans le texte, mais il ne s’affiche pas? Assurez-vous d’avoir assez de hauteur pour le contrôle. Par exemple:

Correct:

 android:layout_height="wrap_content" 

Peut être faux:

 android:layout_height="10dp"