strings.xml中的Html标签不适用于Kotlin

时间:2018-05-29 13:28:34

标签: android kotlin

尝试在下面的字符串文件中定义文本颜色时,使用java

工作正常
<string name="price_value">Rp %1$s &lt;font color=\"#f8011e\">(-%2$s)&lt;/font> </string>

以上字符串在我的java代码中被这样使用:

Html.fromHtml(String.format(
              getString(R.string.price_value),
              price,
              discount + "%"
            ));

但同样的字符串不适用于Kotlin。以下是Kotlin的代码

Html.fromHtml(String.format(
              getString(R.string.price_value),
              price,
              discount + "%"
            ))

这个字符串应该改变第二个动态参数的颜色,但它只能在java中工作,但Kotlin不会改变颜色。

有人可以告诉你为什么不能与 Kotlin 合作?

我也在Kotlin讨论页面上问了同样的问题,但没有得到任何答案。

https://discuss.kotlinlang.org/t/html-tags-inside-strings-xml-is-not-working-with-kotlin/7739

1 个答案:

答案 0 :(得分:0)

我不确定100%确定这是你想要的。但这会使第二个参数变为红色。

var tekst = Html.fromHtml(String.format(
                getString(R.string.price_value),
                100,
                ""+10 + "%"
        ))

        tv_textview.text = tekst

以上结果在tekst:&#34; Rp 100(-10%)&#34; (-10%)红色。