HarmonyOS getStringByName取字符串资源库$r\('app.string.xxx'\) value值?

getStringByName方法取字符串资源库$r('app.string.xxx') value值的完整的示例代码方便贴一个吗?通过下面官方文档做不出,展示的代码太局部,复制过来缺东西,报错。

阅读 707
1 个回答

参考demo:

import { BusinessError } from '@kit.BasicServicesKit';
import { common } from '@kit.AbilityKit';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  context = getContext(this) as common.UIAbilityContext
  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(()=>{
            try {
              this.context.resourceManager.getStringByName('something', (error: BusinessError, value: string) => {
                if (error != null) {
                  console.error("error is " + error);
                } else {
                  let str = value;
                  console.log(str.toString())
                }
              });
            } catch (error) {
              let code = (error as BusinessError).code;
              let message = (error as BusinessError).message;
              console.error(`callback getStringByName failed, error code: ${code}, message: ${message}.`);
            }
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

string.json中创建something变量:

{
  "string": [
  {
    "name": "module_desc",
  "value": "module description"
  },
  {
    "name": "EntryAbility_desc",
  "value": "description"
  },
  {
    "name": "EntryAbility_label",
  "value": "label"
  },
  {
    "name": "something",
  "value": "test"
  }
  ]
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进