HarmonyOS鸿蒙Next中string | Resource类型的数据怎么转成字符串

HarmonyOS鸿蒙Next中string | Resource类型的数据怎么转成字符串

对数据类型是string | Resource的字段转字符串时,使用过toString,as string方法,获取到的都是[object Object],使用了工具方法也不行,请教一下该怎么转换

image.png

image.png


更多关于HarmonyOS鸿蒙Next中string | Resource类型的数据怎么转成字符串的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

你问我答#

Resource为string支持限定词目录使用this.context.resourceManager.getStringSync($r(‘app.string.test’).id),可以同步转换,不支持$r(‘app.string.test’, 2)方式。

参考链接: ResourceManager(资源管理)

更多关于HarmonyOS鸿蒙Next中string | Resource类型的数据怎么转成字符串的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,string | Resource类型的数据可以通过ResourceManagergetString方法转换为字符串。Resource类型通常用于引用资源文件中的字符串资源,而string类型可以直接使用。以下是一个示例代码:

import { Resource, resourceManager } from '@ohos.resourceManager';

// 假设有一个Resource类型的变量
let res: Resource = { id: $r('app.string.my_string').id };

// 将Resource转换为字符串
resourceManager.getString(res).then((value: string) => {
    console.log(value); // 输出转换后的字符串
});

// 如果直接是string类型
let str: string = "Hello, HarmonyOS";
console.log(str); // 直接输出字符串

在这个示例中,ResourceManagergetString方法用于将Resource类型的资源ID转换为实际的字符串。如果已经是string类型,则可以直接使用。

在HarmonyOS鸿蒙Next中,string | Resource类型的数据可以通过ResourceManagergetString方法转换为字符串。具体步骤如下:

  1. 确保你已经在resources目录下定义了相应的字符串资源。
  2. 使用ContextgetResourceManager方法获取ResourceManager实例。
  3. 调用ResourceManagergetString方法,传入资源ID,即可获取对应的字符串。

例如:

ResourceManager resourceManager = getContext().getResourceManager();
String str = resourceManager.getString(ResourceTable.String_hello_world);

这样,str就是你需要的字符串。

回到顶部