在android中显示HTML
我正在使用文本视图显示我已从HTML格式化的一些文本:在android中显示HTML,android,html,Android,Html,我正在使用文本视图显示我已从HTML格式化的一些文本: Spanned s = Html.fromHtml(getString(R.string.disclaimer)); tvDisclaimer.setText(s); 文本位于使用CDATA的strings.xml中: <string name="disclaimer"> <![CDATA[ <p>blablabla</p> <ul> <li&
Spanned s = Html.fromHtml(getString(R.string.disclaimer));
tvDisclaimer.setText(s);
文本位于使用CDATA的strings.xml
中:
<string name="disclaimer">
<![CDATA[
<p>blablabla</p>
<ul>
<li>foo
<li>bar
</ul>
]]>
</string>
喋喋不休
- 福
- 酒吧
]]>
现在的重点是,整个事件在Choreographer
中的IndexOutOfBoundsException
中崩溃。它适用于一些简单的HTML,但在某些情况下,我只需添加一个字符(ø)即可使其崩溃。删除角色可以使其正常工作
如果
Html.fromHtml()
不是一个好办法,那么我可以用什么在我的应用程序中获得一些不错的富文本呢?我想出了方法。如注释中所述,Html.fromHtml()
方法只支持有限的一组Html。它可以通过使用网络视图来完成:
WebView wvDisclaimer = (WebView)findViewById(R.id.wvDisclaimer);
wvDisclaimer.loadDataWithBaseURL("about:blank",
getString(R.string.disclaimer), "text/html", "utf-8", "about:blank");
我使用以下代码修复了此问题:
<string name="disclaimer">
<![CDATA[
<p>blablabla</p>
<br>• foo
<br>• bar
]]>
</string>
喋喋不休
•;福
•;酒吧
]]>
希望有帮助。您是使用html字符代码还是直接使用字符?直接使用字符。但是在其他地方,字符可以正常工作。由于
和
不受Html.fromHtml()
的支持,您有更大的问题。@commonware,好的,谢谢。可惜在文档中找不到。另外,我想要一个HtmlNotSupportedException或类似的东西。或者至少是Html.fromHtml中的一个异常。现在我在一个陌生的地方犯了一些奇怪的错误/咆哮