使用字符串资源创建超链接

时间:2019-05-10 21:41:34

标签: android hyperlink android-resources

我尝试使TextView作为超链接。这一工作符合预期:

content.text = "<a href=${args.article.url}>Content</a>".fromHtml()

但是我收到有关使用字符串资源的警告。但这确实将TextView显示为超链接:

content.text = getString(R.string.content, args.article.url).fromHtml()

这是String资源:

<string name="content"><a href="%s">Content</a></string>

有没有使用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)
}

1 个答案:

答案 0 :(得分:0)

这是在TextView中设置文本的方法:

content.text = TextUtils.expandTemplate(getText(R.string.content), args.article.url).toString().fromHtml()

这是设置字符串资源的方法:

<string name="content"><![CDATA[ <a href="$s">Content</a>]]></string>