如何用list制作GlobalKey列表.生成方法?



我想制作12个小部件,并知道每个部件的坐标。我发现GlobalKey必须被分配来获取坐标。为此,我制作了一个列表来制作GlobalKeys并分配它们,但我得到了堆栈溢出错误。

我不知道我做错了什么。有人能帮忙吗?

List<GlobalKey> keyCap =
List<GlobalKey>.generate(12, (int index) => keyCap[index] = GlobalKey());
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
key: keyCap[0],
color: Colors.red,
));
}
}

我解决了这个问题,但不明白为什么它工作。不管怎么说,:

List<GlobalKey> keyCap = List<GlobalKey>.generate(12, (index) => GlobalKey(debugLabel: 'key_$index'),growable: false);

try:

List<GlobalKey> keyCap = [];
List<int>.generate(12, (int index) { keyCap.add(GlobalKey());});

相关内容

  • 没有找到相关文章

最新更新