我有一个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以及如何继续进行此操作..
感谢,
答案 0 :(得分:0)
这样做。
String htmlStr = "< b &rt this is testing < /b &rt";
tv.setText(Html.fromHtml(htmlStr));
方法Html.fromHtml(String) -
从提供的HTML字符串返回可显示的样式文本。 HTML中的任何标记都将显示为一般替换图像,然后您的程序可以通过该图像进行替换并替换为真实图像。 这使用TagSoup来处理真实的HTML,包括野外发现的所有破坏。
答案 1 :(得分:0)
你可以这样做:
String myHtml = "< b &rt <b> this is testing </b> < /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));