Android在HTML.fromHTML之后打印

时间:2018-05-22 13:11:55

标签: android

我使用Wordpress API在我的应用中发帖。我在撰写帖子时尝试添加新行。但是,例如,当我添加这样的帖子时:

这是一个帖子

在我的应用程序中,我可以完全按照上面的说法在textView中看到/ n。当我尝试使用<br>标记时,会发生同样的事情。

在textView中设置帖子:

String content = String.valueOf(HTML.fromHTML(p.excerpt));
vItem.shortContent.setText(content);

为什么?

EDIT !!!

添加后它正在工作:

String content = p.excerpt.replace("\\n","<br>);
vItem.short_content.setText(Html.fromHtml(content));

谢谢!

2 个答案:

答案 0 :(得分:0)

假设p.excerpt是HTML String,请使用

vItem.shortContent.setText(Html.fromHtml(p.excerpt));

代替。

您看到新行,因为String.valueOf(Object)从param对象调用toString()。由于Html.fromHtml()返回Spannable,因此您的代码正在执行spannable.toString(),因此返回文字文本。

答案 1 :(得分:0)

您还可以将html格式化文本放在字符串资源目录中,如下所示

 <string name="helloworld">
 <![CDATA[

    This is now formatted:<br />
    <strong>Hello world</strong> - this should work fine
]]>

</string>


然后,您可以按如下方式调用活动中的字符串

 txtView = findViewById(R.id.mytext);
    String formatedstring = getString(R.string.helloworld);
    Spanned txt = Html.fromHtml(formatedstring);
      txtView.setText(txt);