文本视图中的上标文本

3
这很奇怪。我的字符串文件中有一段文本,其中包含


<sup>\u00AE</sup> 

关于it. 如果我在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)));

strings.xml:

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

1
你试过使用HTML.fromHTML吗? - njzk2
@njzk2 不是。但是当我在xml中设置文本时,它可以正常工作。 - LoveMeSomeFood
我甚至尝试了Html.fromHtml,但它没有起作用。 - LoveMeSomeFood
在 XML 值中放置 < 是否有问题? - njzk2
不,我认为不是这样的,因为如果在运行时不更改已在XML中设置的值,则会显示为上标。 - LoveMeSomeFood
显示剩余2条评论
1个回答

2
在XML中,<>是特殊字符。当需要包含它们时,为了避免解析器将其读取为封闭标签,它们必须被描述为实体。
在这种情况下:
&lt;sup&gt;\u00AE&lt;/sup&gt;

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接