XML字符串显示异常:格式化标记与转义字符可见问题咨询
Android字符串资源显示问题解析与修复
问题1:标签既显示下划线又可见标签文本
原因:你用getString(R.string.pwdstr)获取字符串时,这个方法会把XML里的HTML标签当作普通文本输出。Android要解析<u>这类富文本标签,得用getText(R.string.pwdstr),它返回Spanned对象,能自动解析标签并应用格式,不会显示标签本身。
如果是布局里直接引用,确保用android:text="@string/pwdstr",别手动用getString的结果赋值。
问题2:转义字符未正常显示为<>
原因:你写的&lt;和&gt;是双重转义。XML里&会被解析成&,最终字符串内容变成<和>,自然显示成原样而非<>。
正确写法是直接在XML里用<表示<,>表示>:
<string name="extramsg"><Catch us on www.website.com!></string>
这样解析后字符串内容就是<Catch us on www.website.com!>,显示时正常展示尖括号。
要是必须保留双重转义写法,代码里得手动二次解析,比如用Html.fromHtml()(高版本Android需用Html.fromHtml(string, Html.FROM_HTML_MODE_LEGACY))把<转成<。
内容的提问来源于stack exchange,提问作者mbob98
相关产品推荐
相关产品推荐

