在Html.fromHtml中忽略换行符

时间:2015-01-05 15:42:26

标签: android html line-breaks

我收到了一个包含来自API的换行符的文字,但我无法让换行符正常工作。

这是我要展示的文字的一部分。 http://pastebin.com/CLnq16mP(粘贴在那里因为stackoverflow上的格式不正确。)

我试过了:

termsAndConditionsTextView.setText(Html.fromHtml("<html><body>" + textResponse.getText() + "</body></html>"));

和此:

termsAndConditionsTextView.setText(Html.fromHtml(textResponse.getText()));

但始终忽略换行符(\ r \ n)和空格。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

因为它的html尝试使用

</br>

您可以通过执行以下操作来替换文本中的所有\ r \ n和空格:

    //message is your string.

    message = message.replace("\r\n","<br />");
    message = message.replace(" ","&nbsp;");
    termsAndConditionsTextView.setText(Html.fromHtml(message));

祝你好运!

答案 1 :(得分:3)

由于文字已预先格式化,即使缩进,您也可以使用<pre>标记。

<pre>
   your text.
</pre>

但新线显然已转义:\r\n因此您仍需转换:

message = message.replace("\\r\\n", "\r\n");

同样适用于\/

如果你想引入粗体,超链接等,那么<pre>标签就会失败,因为它只能包含预格式化的原样文本,