【问题标题】:Android Kotlin Do not concatenate test displayed with setText. Use resource string with placeholdersAndroid Kotlin 不要将显示的测试与 setText 连接。将资源字符串与占位符一起使用
【发布时间】:2020-08-23 08:22:05
【问题描述】:

还有“setText 中的字符串文字无法翻译”

现在有关于此的帖子,但似乎对我没有任何帮助。或者需要一个适当的解释。 如何使用字符串资源 收到警告

 pTxt.text = "Total : $ $price"

在这里,价格是一个价值

如果使用这个

pTxt.setText(R.string.displayPriceMsg, price)

它给出了一个错误。

尝试了 String.format() 但给出了垃圾值。

在strings.xml中有这个

<string name="displayPriceMsg">Total : $ %1$d</string>

【问题讨论】:

  • 如果出现错误,请在您的问题中包含该错误。

标签: android string kotlin settext


【解决方案1】:

您必须将格式参数传递给getString 方法:

pTxt.text = context.getString(R.string.displayPriceMsg, price)

【讨论】:

  • 我没有了解您在解决方案中的上下文。
  • 您需要ContextResources 类的实例才能从资源中获取字符串。例如,您可以将您的活动用作上下文。如果您在活动类中为pTxt 设置文本,您可以只写pTxt.text = getString(R.string.displayPriceMsg, price)
  • 我可以有多个字符串资源ID吗?
  • 很遗憾,没有
猜你喜欢
  • 1970-01-01
  • 2016-05-08
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
  • 2017-01-26
  • 1970-01-01
  • 2014-06-23
相关资源
最近更新 更多