Kotlin调用getString获取字符串资源仅返回部分内容是什么原因?
问题根因
调用Context.getString()读取字符串资源时,系统会自动剥离资源中未转义的HTML格式标签,仅返回纯文本内容。你在strings.xml中写的<a>标签被资源解析器识别为富文本格式标记,而非普通字符串内容,因此最终得到的是去掉标签的纯文本结果,无法拿到你期望的完整带标签内容。
修复方案
按需选择对应方案即可:
- 如果你需要保留
<a>标签的点击跳转等富文本能力,直接替换资源读取方法即可
将getString()替换为getText(),该方法会保留系统支持的轻量HTML标签格式,返回带原生样式的CharSequence对象:val context = LocalContext.current val temp = context.getText(R.string.myRecommendContent) - 如果你就是要获取带HTML标签的原始字符串内容,需要先转义字符串资源里的标签
将HTML标签的尖括号转义为对应实体字符,让系统把标签识别为普通文本内容,此时再调用getString()就能拿到完整的带标签字符串:<!-- strings.xml 中的资源定义 --> <string name="myRecommendContent"><a href="#">Recommend</a> the app to a friend</string>
内容的提问来源于stack exchange,提问作者HelloCW
相关产品推荐
相关产品推荐

