【发布时间】:2021-09-26 03:07:35
【问题描述】:
我已阅读其他问题,虽然它们的标题与此问题相似,但它们并未涵盖我的问题。请阅读下文。
我正在使用 Android Studio。我有一个带有 GridView 的简单有状态应用程序。它的孩子在列表“geza”中。当我按下按钮时,一个 Text('Hello') 被添加到列表中。
这是在 setState() 方法中完成的。新添加的小部件不会出现在网格中。
如果我从 Android Studio 进行热重新部署,那么在重新部署之后,小部件就会出现。所以看起来小部件已添加到列表中,但 Grid 没有更新。
我做错了什么?
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var geza = <Widget>[ Text('AAA') ];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('My Test'),
),
body: Center(
child: GridView.count(crossAxisCount: 2,
children: this.geza
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
this.geza.add(Text('Hello'));
});
},
child: Icon(Icons.add),
),
);
}
}
【问题讨论】: