我正在使用文本视图显示一些已从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/

10-12 12:28
查看更多