1

我可以使用 AppLocalizations.of(context)!.translated 翻译小部件内的文本,它工作正常

但是,当我想本地化将在 listView Builder 中使用的存储 List<> 数据时,我无法这样做,因为它需要(上下文)。

我的问题是如何本地化存储的列表数据(外部小部件)并传递给列表视图构建器?谢谢你的帮助。

4

2 回答 2

0

如果有人有类似的问题,请参考。我只是构建另一个小部件来解决这个问题。我所做的是:构建另一个小部件,然后将列表数据放入其中并返回 ListViewBuilder。一切都一样,只需将您的列表数据放在另一个小部件中即可解决问题

于 2021-10-01T07:12:37.887 回答
0

我认为你应该做两件事

如果您在另一个文件中有一个列表,那么它应该是静态的,如下所示:

class Presets {
  static var presetData = [];
}

加载列表后,您可以执行以下步骤:

首先, 像这样创建小部件作为孩子:

List<Widget> presetsLoadUp() {
  List<Widget> children = <Widget>[];
  for(i < yourList.length){
    children.add(Text(yourList[i]));
  }
  return children;
}

您可以在children.add方法中创建自己独特的小部件。

其次, 创建列表:

...
child: ListView(
                    children: presetsLoadUp(),
                  ),
于 2021-09-30T16:48:04.893 回答