在我的strings.xml文件中,我定义了以下内容:
<string name="mystring"><b>Bold text</b>Non-bold text</string>
它应该有效,因为它已指定here。但实际上只显示粗体文本,而文本的另一部分则消失了。
答案 0 :(得分:5)
取自this 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't</b>