HarmonyOS鸿蒙Next中定义资源数组时,怎么引用已定义好的资源

HarmonyOS鸿蒙Next中定义资源数组时,怎么引用已定义好的资源

string,json中已定义好字串

{
  "name": "im_sunday",
  "value": "星期日"
},

怎么在stringarray中直接引用它

"strarray": [
{
  "name": "im_weekdays",
  "value": [
  {
    "value": $string:im_sunday  // 能引用到吗?
  }
  ]
},
3 回复

在JSON中不能直接引用另一个JSON对象,‌JSON本身不支持这种引用机制。‌每个JSON对象或值都是独立的,‌你不能在一个JSON结构中直接引用另一个部分的内容

更多关于HarmonyOS鸿蒙Next中定义资源数组时,怎么引用已定义好的资源的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,定义资源数组时引用已定义好的资源可以通过资源ID来实现。首先,在resources目录下的element文件中定义资源数组,例如:

<array name="icon_array">
    <item>@drawable/icon1</item>
    <item>@drawable/icon2</item>
    <item>@drawable/icon3</item>
</array>

这里的@drawable/icon1@drawable/icon2@drawable/icon3是已经定义在drawable目录下的资源。在代码中可以通过资源ID引用这个数组,例如:

let iconArray = this.context.resourceManager.getStringArray($r('app.array.icon_array'));

这样,iconArray将包含icon_array中引用的资源。

在HarmonyOS鸿蒙Next中,引用已定义好的资源数组可以通过资源ID来实现。首先,在resources/base/element目录下定义资源数组,例如string_array.json。然后,在代码中使用ResourceManagergetStringArray方法,并传入资源ID来获取数组。例如:ResourceManager.getStringArray($r('app.string_array.my_array'))。确保资源ID与定义一致即可正确引用。

回到顶部