【发布时间】:2019-09-28 19:25:19
【问题描述】:
我尝试将 TextView 作为超链接。这个按预期工作:
content.text = "<a href=${args.article.url}>Content</a>".fromHtml()
但我收到关于使用字符串资源的 lint 警告。但是这个现在确实将 TextView 显示为超链接:
content.text = getString(R.string.content, args.article.url).fromHtml()
这是字符串资源:
<string name="content"><a href="%s">Content</a></string>
有没有办法使用字符串资源修复它?
@Suppress("DEPRECATION")
fun String.fromHtml() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Html.fromHtml(this, Html.FROM_HTML_MODE_COMPACT)
} else {
Html.fromHtml(this)
}
【问题讨论】:
-
使用
getText()代替getString()/fromHtml(): stackoverflow.com/a/19311520/115145 -
@CommonsWare,当我使用
getText(R.string.content, args.article.url).fromHtml()时,我在args.article.url下收到错误 -
哦,对了,
getText()不支持占位符。您可以切换到单参数getText()并使用TextUtils.expandTemplate()或TextUtils.replace()。 -
是的,没错。谢谢。您可以分享您的答案,我将其标记为已接受。
-
我建议你回答你自己的问题,展示你的结果!
标签: android hyperlink android-resources