我正在使用文本视图显示一些已从HTML格式化的文本:
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>
现在的问题是,整件事都会因为
IndexOutOfBoundsException
中的Choreographer
而崩溃。它适用于一些简单的HTML,但在某些情况下,我只需要添加一个字符(ø)就可以让它崩溃。移除角色会使其工作。如果
Html.fromHtml()
不是可行的方法,我可以用什么在我的应用程序中获得一些像样的富文本? 最佳答案
我知道怎么做了。如注释中所述,Html.fromHtml()
方法只支持一组有限的HTML。它可以通过使用WebView
来实现:
WebView wvDisclaimer = (WebView)findViewById(R.id.wvDisclaimer);
wvDisclaimer.loadDataWithBaseURL("about:blank",
getString(R.string.disclaimer), "text/html", "utf-8", "about:blank");
关于android - 在Android中显示HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12808284/