我收到了一个包含来自API的换行符的文字,但我无法让换行符正常工作。
这是我要展示的文字的一部分。 http://pastebin.com/CLnq16mP(粘贴在那里因为stackoverflow上的格式不正确。)
我试过了:
termsAndConditionsTextView.setText(Html.fromHtml("<html><body>" + textResponse.getText() + "</body></html>"));
和此:
termsAndConditionsTextView.setText(Html.fromHtml(textResponse.getText()));
但始终忽略换行符(\ r \ n)和空格。
我该如何解决这个问题?
答案 0 :(得分:8)
因为它的html尝试使用
</br>
您可以通过执行以下操作来替换文本中的所有\ r \ n和空格:
//message is your string.
message = message.replace("\r\n","<br />");
message = message.replace(" "," ");
termsAndConditionsTextView.setText(Html.fromHtml(message));
祝你好运!
答案 1 :(得分:3)
由于文字已预先格式化,即使缩进,您也可以使用<pre>
标记。
<pre>
your text.
</pre>
但新线显然已转义:\r\n
因此您仍需转换:
message = message.replace("\\r\\n", "\r\n");
同样适用于\/
。
如果你想引入粗体,超链接等,那么<pre>
标签就会失败,因为它只能包含预格式化的原样文本,