HarmonyOS 鸿蒙Next getStringSync不能格式化字符串,还是显示原来的字符串

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next getStringSync不能格式化字符串,还是显示原来的字符串

使用如下方式定义,不起作用,显示成原字符串

$r(‘app.string.formater’, ${this.usedCount+""}, this.productName, ${this.leftCount+""}

2 回复
通过定位,${this.usedCount+""}不是标准的string类型。应该采用如下写法

getStringSync($r('app.string.formater'), `${this.usedCount}`, this.productName, `${this.leftCount}`)

string.json文件定义如下:

{

"name": "formater",

"value": "%s %s %s"

}

更多关于HarmonyOS 鸿蒙Next getStringSync不能格式化字符串,还是显示原来的字符串的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,getStringSync 方法本身并不具备字符串格式化功能。这个方法通常用于同步获取字符串资源,其返回值是未经过任何处理的原始字符串内容。因此,如果你期望得到格式化后的字符串,需要在获取到字符串之后,使用其他方法进行格式化处理。

在鸿蒙系统中,你可以使用 String.format 或者 StringBuilder 等类来实现字符串的格式化。例如,你可以先将 getStringSync 获取到的字符串作为模板,然后通过 String.format 方法将变量值插入到模板中的占位符位置。

示例代码如下:

String template = getStringSync(R.string.template); // 假设R.string.template是"Hello, %s!"
String formattedString = String.format(template, "World");

这样,formattedString 的值就会是 “Hello, World!”。

如果你发现格式化后的字符串仍然显示原始内容,可能是因为你没有正确使用格式化方法,或者模板字符串中的占位符与传入的参数不匹配。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部