在我的应用程序中,我有一个导航抽屉,并且主体根据抽屉中按下的图块进行更新。每个类的主体都是相同的,它是一个statefulwidget,并返回一个listview。对于此类的每个实例(以及每个图块),我需要调用initState方法。我注意到它仅在第一个图块的第一个实例上被调用,然后仅调用build方法。如何在每个实例第一次运行一段代码?
综合:在应用程序中,有一个包含许多图块的抽屉,每个图块都与一个类的实例相关联,该类是应用程序的主体。但是initState仅在第一个实例上被调用。
这是一个例子:
class FirstPage extends StatefulWidget {
@override
_FirstPage createState() => new _FirstPage();
}
class _FirstPage extends State<FirstPage> {
@override
void initState() {
super.initState();
print("debug");
}
@override
Widget build(BuildContext context) {
print('hi');
return ListView(children: <Widget>[Text('text')],
);
}
}
如果我在第一次打印该类时实例化该类:debug和hi。我第二次实例化它时,它只打印:嗨
答案 0 :(得分:1)