(Flutter)第二页第一页的setState

时间:2019-04-01 07:17:11

标签: dart flutter

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

Navigator.of(context).pop

哪个带我回到“第一屏”。

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

我尝试过: 1)调用“首页”实例并使用:

firstPageinstance.setState((){});

2)我也尝试过从First Page类调用setState的函数:

firstPageinstance.funtionWhichCallsetStateinFirstageClass();

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

P.S。列表项已保存并从SQLite数据库中调用。另外,如果您需要更多详细信息,请告诉我。

1 个答案:

答案 0 :(得分: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