用于Textviews的setText和读取HTML标记

时间:2013-04-01 07:30:42

标签: android html textbox

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

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

tv.setText(str);

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

java中是否有可用于阅读HTML的API以及如何继续进行此操作..

感谢,

3 个答案:

答案 0 :(得分:0)

这样做。

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

方法Html.fromHtml(String) -

     

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

答案 1 :(得分:0)

你可以这样做:

String myHtml = "&lt b &rt  <b> this is testing </b>     &lt /b &rt";
myTextView.setText(Html.fromHtml(myHtml));

答案 2 :(得分:0)

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

在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));