-1

我有一个 String ,这个字符串可能包含任何值(我的意思是它可能包含 HTML 标签)。我在 java 中创建了一个 TextView,现在我需要将此文本设置为 textview。一般来说

String str;
Textview tv = new TextView(this);

tv.setText(str);

但是如果 str = < b &rt 这是测试 < /b &rt 那么在这种情况下,我必须用粗体设置 textview 的文本(需要读取 HTML 标签并根据它进行分配)。

java中是否有任何API可用于读取HTML,我该如何继续..

谢谢,

4

3 回答 3

0

这样做。

String htmlStr = "&lt b &rt this is testing &lt /b &rt";
tv.setText(Html.fromHtml(htmlStr));

方法 Html.fromHtml(String) -

从提供的 HTML 字符串返回可显示的样式文本。HTML 中的任何标签都将显示为通用替换图像,然后您的程序可以通过它并用真实图像替换。这使用 TagSoup 来处理真实的 HTML,包括在野外发现的所有损坏。

于 2013-04-01T07:32:56.117 回答
0

你可以这样做:

String myHtml = "&lt b &rt  <b> this is testing </b>     &lt /b &rt";
myTextView.setText(Html.fromHtml(myHtml));
于 2013-04-01T07:33:51.840 回答
0

您可以将您的 html 内容放入 strings.xml 并在那里引用它。如果您的 html 内容很大,您可以将内容放在 strings.xml 中的 ![CDATA[ 和 ]] 之间。

在你的 strings.xml 添加

<string name="myhtml><![CDATA[<html>  your html conten </html> ]]> </string>

在你的活动中

Textview tv= new TextView(this);
tv.setText(Html.fromHtml(getString(R.string.myhtml));
于 2013-04-01T07:41:46.417 回答