Android - 使用String.format()在XML字符串中实现换行符?

时间:2014-12-30 12:25:59

标签: java android xml newline string-formatting

这是我的xml字符串......

<string name="my_string">First line.\nSecond line: %1$s.\nThird line.</string>

...我需要在不丢失换行符的情况下运行String.format。

我如何实现这一目标?

这是我的Java代码......

String text = String.format(getString(R.string.my_string, "some text");
Spanned html = Html.fromHtml(text, this, null);
textView.setText(html);

在xml文件中,我尝试使用\n<br />以及实际的新行,但没有一行在UI上的textView中生成换行符。

3 个答案:

答案 0 :(得分:2)

尝试使用HTML字符串:

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

答案 1 :(得分:0)

对于使用<br />,作为一个html标记,您必须将该字符串包装在CDATA中。 使用它。

<string name="my_string"><![CDATA][First line. <br />Second line. <br />Third line.]]</string>

答案 2 :(得分:0)

Try to replace '<' with &lt; in HTML-escaped string :

<string name="my_string">First line.&lt;br/>Second line: %1$s.&lt;br/>Third line.</string>

更多细节请查看:http://developer.android.com/guide/topics/resources/string-resource.html