没有为类型“ List <Locale>”定义getter“ languageCode”

时间:2020-10-20 09:07:26

标签: flutter localization

我需要我的应用程序支持不同的语言。 但是我在使用languageCode属性时遇到问题。 代码为:

  supportedLocales: [
        Locale('en', ''),
        Locale('ar', ''),
      ],
      localeListResolutionCallback: (currentLocale, supportedLocales) {
        if (currentLocale != null) {
          print(currentLocale.languageCode);
          for(Locale locale in supportedLocales){
           // if(currentLocale.languageCode== )
          }
        }
        return supportedLocales.first;
      },

问题是: 未为类型“列表”定义吸气剂“ languageCode”。 尝试导入定义“ languageCode”的库,将名称更正为现有吸气剂的名称,或者定义一个名为“ languageCode”的吸气剂或字段。

2 个答案:

答案 0 :(得分:1)

在您的代码中currentLocale是一个数组。您应该定义它的语言环境以获得更正确的名称。您需要像这样使用它:

    localeListResolutionCallback: (locales, supported) {
          locales.forEach((l) => print(l.languageCode));

答案 1 :(得分:0)

从“ localeListResolutionCallback”中删除“列表”文本。