(Flutter)从第二页开始设置第一页的状态

问题描述 投票:0回答:1

我在第一页中有一个ListView Builder,它从第二页接收内容(项)。当我在第二页中点击提交按钮时,我使用:

Navigator.of(context).pop

这让我回到了First Screen。

问题是它不会更新列表中创建的项目,除非我重新启动应用程序。

我试过:1)调用First Page的实例并使用:

firstPageinstance.setState((){});

2)我还尝试从First Page类调用一个函数,该类调用setState:

firstPageinstance.funtionWhichCallsetStateinFirstageClass();

但这一切都不起作用。仅当我重新启动应用程序时才会更新列表。

附:列表项是从SQLite数据库保存和调用的。另外,如果您需要更多详细信息,请与我们联系。

dart flutter
1个回答
2
投票

导航到SecondPage时,等待结果如下:

bool isUpdated = await Navigator.push(context, MaterialPageRoute(builder: (context) => SecondPage()),)

if(isUpdated) // do your list update logic here

返回FirstPage(点击提交按钮)时,发送预期值,例如:

Navigator.pop(context, true);

有用的读物​​:https://flutter.dev/docs/cookbook/navigation/returning-data

© www.soinside.com 2019 - 2024. All rights reserved.