3

这很奇怪。我的字符串文件中有一个文本

<sup>\u00AE</sup> 

在里面。如果我将此文本设置为 xml 文件中的 TextView。看起来不错。但是当我在运行时更新它时,它没有设置并像普通字母一样显示。

.xml:

android:text="@string/you_dont_have_a_card"
android:id="@+id/txtNoCard"

.java

txtNoCard.setText(Html.fromHtml(getString(R.string.your_card_is_not_activated)));

字符串.xml:

<string name="you_dont_have_a_card">It appears you do not have a TestVisa<sup>\u00AE</sup> Debit Card on file.</string>
4

1 回答 1

2

在 XML 中,<>是特殊字符。包含它们时,为避免解析器将它们作为封闭标签读取,必须将它们描述为实体。

在这种情况下 :

&lt;sup&gt;\u00AE&lt;/sup&gt;

在这种情况下,令人惊讶的是 TextView 在直接将文本添加为​​ 时的行为android:text="@string/you_dont_have_a_card",它显然使用了在面对特殊字符时具有不同行为的解析器。

于 2013-11-06T20:18:32.467 回答