¿Cómo agregar un salto de línea en un Android TextView?

Estoy tratando de agregar un salto de línea en el TextView.

Intenté sugerido \ n pero eso no hace nada. Así es como configuro mis textos.

TextView txtSubTitle = (TextView)findViewById(r.id.txtSubTitle); txtSubTitle.setText(Html.fromHtml(getResources().getString(R.string.sample_string))); 

Esta es mi cadena: some test line 1 \n some test line 2

Debería mostrarse así:

 some test line 1 some test line 2 

Pero se muestra así: some test line 1 some test line 2 .

¿Me estoy perdiendo de algo?

\n funciona para mí, así:

  

ok lo descubrió:

 some test line 2]]> 

así que envolver en CDATA es necesario y se agrega ruptura dentro como tags html

¡Gracias por toda tu ayuda!

Android versión 1.6 no reconoce \ r \ n. En su lugar, use: System.getProperty (“line.separator”)

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

Los saltos de línea (\ n) solo funcionan si coloca el valor del recurso de cadena entre comillas como este:

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

No hará saltos de línea si lo pones sin comillas así:

 some test line 1 \n some test line 2 

sí, es así de fácil.

Intenté todo lo anterior, investigué por mi cuenta y obtuve la siguiente solución para representar los caracteres de escape linefeed:

 string = string.replace("\\\n", System.getProperty("line.separator")); 
  1. Con el método de reemplazo, debe filtrar los avances de línea escapados (por ejemplo, ‘\\ n’)

  2. Solo entonces cada instancia de los caracteres de escape de la línea ‘\ n’ se representa en el salto de línea real

Para este ejemplo, utilicé una base de datos de Google Apps Scripting noSQL (ScriptDb) con datos formateados JSON.

Saludos: D

Esto funcionó para mí

 android:text="First \n Second" 

Esto funcionó para mí, tal vez alguien lo encontrará útil:

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

Hay dos formas de evitar esto Si usa su cadena como una cadena sin formato, necesita usar el carácter de nueva línea. Si lo usa como html, por ejemplo, Html.fromString con Html.fromString , la segunda variante es mejor.

1) Carácter de Newline \n

  This
is a sample

Usado Android Studio 0.8.9. La única forma que funcionó para mí es usar \n . Ni el envoltorio con CDATA ni el trabajo de
ni el de
funcionaron.

Si está utilizando XML para declarar su TextView use android:singleLine = "false" o en Java, use txtSubTitle.setSingleLine(false);

Yo uso lo siguiente:

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

muy fácil: use “\ n”

  String aString1 = "abcd"; String aString2 = "1234"; mSomeTextView.setText(aString1 + "\n" + aString2); 

\ n corresponde a ASCII char 0xA, que es ‘LF’ o línea de alimentación

\ r corresponde a ASCII char 0xD, que es ‘CR’ o retorno de carro

esto data de las primeras máquinas de escribir, donde puedes elegir hacer solo un avance de línea (y escribir solo una línea más abajo), o un avance de línea + retorno de carro (que también se mueve al comienzo de una línea)

en Android / java el \ n corresponde a un retorno de carro + avance de línea, ya que de lo contrario simplemente ‘sobrescribiría’ la misma línea

Intenta verificar tus localizaciones. Posible, intenta editar un archivo (localización), pero en realidad progtwig utilizando otro, como en mi caso . El idioma predeterminado del sistema es ruso, mientras trato de editar la localización en inglés.

En mi caso, la solución de trabajo es usar “\ n” como separador de línea:

  line one. \nline two; \nline three. 

También puede agregar "<br/>" en lugar de \ n.

Es código escapado de HTML para

Y luego puedes agregar texto a TexView:

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

También puedes usar String-Editor de Android Studio, genera automáticamente frenos de línea y cosas así …

Como Html.fromHtml , simplemente utilicé este código para obtener String2 en la siguiente línea.

 textView.setText(fromHtml("String1 
String2"));

.

 @SuppressWarnings("deprecation") public static Spanned fromHtml(String 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; } 

Encontré otro método: es necesario agregar el atributoandroid: maxWidth =” 40dp “ “. Por supuesto, puede no funcionar perfectamente, pero da un salto de línea.

La manera más fácil de hacerlo es ir a valores / cadenas (en su carpeta de recursos)

Declara una cadena allí:

  Line 1\Line2\Line n 

Y en su archivo xml específico simplemente llame a la cadena como

   

\ n no estaba funcionando para mí. Pude solucionar el problema cambiando el xml a texto y construyendo la propiedad textview text como a continuación.

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

Esperemos que esto ayude a aquellos que dijeron que \ n no funcionó para ellos.

Estoy leyendo mi texto de un archivo, así que tomé un enfoque ligeramente diferente, ya que al agregar \ n al archivo apareció \ n en el texto.

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

¿Quizás puede poner el lf en el texto, pero no se muestra? Asegúrate de tener suficiente altura para el control. Por ejemplo:

Correcto:

 android:layout_height="wrap_content" 

Puede estar mal:

 android:layout_height="10dp"