答案 0 :(得分:0)
您可以使用类似的方法(但是必须从3变到2,最后是1)以获得一些值,然后刷新它:
var result = await Navigator.of(context).push(
MaterialPageRoute(builder: (context) => Screen2()));
if (result != null) {
setState(() {
valueYouChangeIt = result;
});
}
然后使用以下方法从Screen2发送回该值:
_sendDataBack(BuildContext context) {
Navigator.pop(context, valueToSendBack);
}
或者,如果您想刷新所有内容,可以编写_initState函数,以在其中初始化数据,然后在结果上调用_initState。
说,所有这一切都可能是非常繁琐的过程,因此,如果它是一个具有2到5个屏幕的小型应用程序,则可以,但是像其他人评论的那样,具有更多屏幕,我宁愿使用Provider。