3

在我的 strings.xml 文件中,我定义了以下内容:

<string name="mystring"><b>Bold text</b>Non-bold text</string>

它应该工作,因为它在这里指定。但实际上只显示粗体文本,而其他部分文本则消失了。

4

1 回答 1

5

取自这个SO 线程

用这个

textView.setText(Html.fromHtml(someText));

或通过这种方式从 xml

您可以在 strings.xml 中包含原始 HTML,只要将其包装在

<![CDATA[ ...raw html... ]]>

例子:

<string name="nice_html">
<![CDATA[
<p>This is a html-formatted string with <b>bold</b> and <i>italic</i> text</p>
<p>This is another paragraph of the same string.</p>
]]>
</string>

然后,在您的代码中:

TextView foo = (TextView)findViewById(R.id.foo);
foo.setText(Html.fromHtml(getString(R.string.nice_html)));

您还可以在 CDATA 块内使用反斜杠转义撇号/单引号,这样您就可以拥有类似的东西<b>can\'t</b>而不是无限丑陋的东西<b>can&apos;t</b>

于 2012-05-28T13:31:29.837 回答