使用字符串中的变量,做 Html.fromHtml

Posted

技术标签:

【中文标题】使用字符串中的变量,做 Html.fromHtml【英文标题】:using variables in a string, to do Html.fromHtml 【发布时间】:2011-10-22 17:26:57 【问题描述】:

有没有办法在这种情况下使用变量?我想要这个代码:

字符串 str = "测试"; html.fromHtml("test <.bold> str <.> test");

制作:

测试测试测试

但它却使:

测试 str 测试

谢谢

【问题讨论】:

您在引号中包含“str”。它是一个变量,应该添加到引号之外,因为 teepee 在下面已经回答了。 &lt;.bold&gt; 不是有效的 HTML,Html.fromHtml() 不认可。 【参考方案1】:

使用带有 android SDK 弃用验证的扩展函数的 kotlin 版本

@Suppress("deprecation")
fun String.fromHtml(): Spanned = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) 
    Html.fromHtml(this, Html.FROM_HTML_MODE_LEGACY)
 else 
    Html.fromHtml(this)


val str = "test"
textView.text = "test <bold>$str</bold> test".fromHtml()

【讨论】:

【参考方案2】:

这个呢?

String str = "test";
textView.setText( Html.fromHtml("test <bold>" + str + "</bold> test") );

或者对于更困难的解决方案,您可以使用 java 的 replaceAll 替换用正则表达式定义的字符串。

【讨论】:

以上是关于使用字符串中的变量,做 Html.fromHtml的主要内容,如果未能解决你的问题,请参考以下文章

使用 Linkify.addLinks 与 Html.fromHtml 结合

Html.fromHtml忽视 符号问题

Android N 中不推荐使用 Html.fromHtml

Android N 中不推荐使用 Html.fromHtml

在 Android 中使用 Html.fromHtml() 突出显示文本颜色?

Html.fromHtml(String) + 换行问题