2

TextView を使用して、HTML から書式設定したテキストを表示しています。

Spanned s = Html.fromHtml(getString(R.string.disclaimer));
tvDisclaimer.setText(s);

テキストはstrings.xmlusing CDATA にあります。

<string name="disclaimer">
    <![CDATA[
    <p>blablabla</p>
    <ul>
      <li>foo
      <li>bar
    </ul> 
    ]]>
</string>

IndexOutOfBoundsExceptionここでのポイントは、すべてがin でクラッシュすることChoreographerです。いくつかの単純な HTML では機能しますが、ある時点で、1 文字 (ø) を追加するだけでクラッシュします。文字を削除すると機能します。

それがうまくいかない場合Html.fromHtml()、アプリで適切なリッチ テキストを取得するために何を使用できますか?

4

2 に答える 2

1

私はそれを行う方法を考え出しました。コメントで既に述べたように、この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");
于 2012-10-10T19:39:28.517 に答える
0

以下のコードを使用して、この問題を修正しました。

<string name="disclaimer">
<![CDATA[
<p>blablabla</p>
    <br>&#8226; &nbsp;foo
    <br>&#8226; &nbsp; bar
]]>
</string>

それが役に立てば幸い。

于 2014-09-24T08:44:28.823 に答える