android - 在Android TextView,如何添加换行符?

我试图在TextView中添加换行符。

这是我如何设置text。


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

这是字符串:<string name="sample_string">some test line 1 n some test line 2</string>

它应该像这样显示:


some test line 1
some test line 2

但它显示为:some test line 1 some test line 2

时间:


<string name="sample_string"><![CDATA[some test line 1 <br />some test line 2]]></string>

在CDATA中换行,并将内部作为html标记换行


<string name="sample_string">"some test line 1 n some test line 2"</string>

如果你不带引号,它不会执行linebreaks,


<string name="sample_string">some test line 1 n some test line 2</string>

是的,就这么简单。

Android版本1.6无法识别rn,而需要使用:System.getProperty("line.separator")


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


string = string.replace("n", System.getProperty("line.separator"));

  1. 使用replace方法你需要过滤转义的换行符(例如,'n ')

  2. 只有这样,每个换行实例'n '转义字符才会呈现到实际换行中

可以正常工作,


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

有两种解决方法,如果使用字符串作为原始字符串,就需要使用换行符,如果您将其用作html,例如,通过使用Html.fromString对其进行解析,则第二个变体更好。

1)换行符n


<string name="sample> Thisnis a sample</string>

2)Html换行标记<br><br />


<string name="sample> This<br>is a sample</string>

...