Lorsque je définis une TextView
dans xml
, comment puis-je y ajouter une nouvelle ligne? \n
semble ne pas fonctionner.
<TextView
Android:id="@+id/txtTitlevalue"
Android:text="Line1: \n-Line2\n-Line3"
Android:layout_width="54dip"
Android:layout_height="fill_parent"
Android:textSize="11px" />
Ne faites pas confiance à l'éditeur visuel. Votre code fonctionne dans l'emu.
Essayer:
Android:lines="2"
\n
devrait fonctionner.
essayez System.getProperty("line.separator");
Je pense que cela a quelque chose à voir avec votre appel HTM.fromHtml(subTitle)
: un "\ n" ne signifie pas bupkis en HTML. Essayez <br/>
au lieu de "\ n".
Tout d'abord, mettez ceci dans votre textview:
Android:maxLines="10"
Ensuite, utilisez \n
dans le texte de votre affichage de texte.
avec maxLines, TextView a tout au plus cette hauteur. Vous pouvez choisir un autre numéro :)
J'ai essayé toutes les réponses ci-dessus, et quelques recherches ont également abouti à la solution suivante pour le rendu des caractères d'échappement de sauts de ligne:
string = string.replace("\\\n", System.getProperty("line.separator"));
Utilisation de la méthode de remplacement à filtrer échappé sauts de ligne (par exemple '\\\n'
)
Alors seulement chaque instance de saut de ligne '\n'
caractères d'échappement sera rendue dans le saut de ligne réel
Pour cet exemple, j'ai utilisé une base de données Google Apps Scripting noSQL (ScriptDb) avec des données au format JSON.
A la vôtre: D
<TextView
Android:id="@+id/txtTitlevalue"
Android:text="Line1: \r\n-Line2\r\n-Line3"
Android:layout_width="54dip"
Android:layout_height="fill_parent"
Android:textSize="11px" />
Je pense que ça va marcher.
Je viens de résoudre le même problème, mettre ci-dessous les attributs en XML
Android:lines="2" Android:maxLines="4" Android:singleLine="false"
work .Html.fromHtml("text1 <br> text2").toString()
fonctionne également.
Assurez-vous que votre \n
est dans "\n"
pour que cela fonctionne.
Cela a résolu mon problème.
stringVar.replaceAll("\\\\n", "\\\n");
System.getProperty("line.separator");
cela fonctionne pour moi.
Mes 2 cents, en utilisant Android TV.
Ajoutez \n
dans les chaînes XML en lisant:
public void setSubtitle(String subtitle) {
this.subtitle = subtitle.replace("\\n", System.getProperty("line.separator"));
}
Une façon de faire consiste à utiliser Html
tags ::
txtTitlevalue.setText(Html.fromHtml("Line1"+"<br>"+"Line2" + " <br>"+"Line3"));
Besoin de garder
1 .Android:maxLines="no of lines"
2.Et utilisez \n
pour obtenir les prochaines lignes
Si vous déboguez, vous verrez que la chaîne est en fait "\ \r\ \n"
ou "\ \n"
, c'est-à-dire qu'elle est échappée. Donc, si vous massez cette chaîne, pour vous débarrasser de l’extra \
, vous aurez votre solution. Cela est vrai surtout si vous lisez à partir d'une base de données.
Vous devez placer le "\n"
dans le fichier strings.xml
ne figurant pas dans la mise en page.
Aussi, vous pouvez ajouter <br>
au lieu de \n.
Et ensuite, vous pouvez ajouter du texte à TexView:
articleTextView.setText(Html.fromHtml(textForTextView));
Vous devez mettre \n
dans le fichier string.xml
<string name="strtextparkcar">press Park my Car to store location \n</string>
Pour moi, la solution a été d’ajouter la ligne suivante à la mise en page:
<LinearLayout
xmlns:tools="http://schemas.Android.com/tools"
...
>
Et\n apparaît comme une nouvelle ligne dans l'éditeur visuel. J'espère que ça aide!
Cela fonctionne bien. Vérifiez-le pour votre application.
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Text 1\nText 2\nText 3"/>
Note latérale: Capitaliser le texte à l'aide de
Android:inputType="textCapCharacters"
ou similaire semble empêcher le \n
de fonctionner.
Assurez-vous que vous utilisez your_package.R
et non Android.R
Android:text="Previous Line Next Line"
Cela fonctionnera.
La réponse de RuDrA05 est bonne. Lorsque je modifie le code XML sur Eclipse, cela ne fonctionne pas, mais lorsque je modifie le code XML avec le bloc-notes ++, il fonctionne.
La même chose se passe si je lis un fichier txt enregistré avec Eclipse ou notepad ++
Peut-être est lié à l'encodage.
pour la nouvelle ligne dans TextView, ajoutez simplement \ n au milieu de votre texte, cela fonctionne ..
Si le TextView est dans une mise en page (LinearLayout par exemple), essayez de changer l'attribut d'orientation en vertical comme Android:orientation="vertical"
pour la mise en page ou changez l'attribut TextView
Android:singleLine="true"
pour créer une nouvelle ligne après il.
Jst essayez Textview_name.settext ("quelque chose\n nouvelle ligne"):
Dans le fichier Java