有没有办法在我导航回列表视图页面时更新它?



我的应用有三个页面,一个主页,一个列表视图页面和一个设置页面。我从主页导航到列表视图页面,单击列表视图页面中的浮动操作按钮,我创建一个新的配置文件并进入该配置文件的设置页面。选择设置后,我希望它们显示在卡片的列表视图中。我有一个从中检索设置的sqflite数据库。这很好用,但有一个主要问题:我必须热重载我的应用程序,每个新卡才能显示在我的列表视图中。

我想要的是,当我导航回我的列表视图页面时,它会更新它。

我尝试的是使用导航器推送从我的设置页面返回到我的列表视图页面,如下所示:

Navigator.push(
context,
MaterialPageRoute(builder: (context) => ProfilesList(),
);

这适用于我的列表视图然后立即更新。但是当我单击后退按钮时,我没有弹出回主页,而是再次进入设置屏幕,因为这是我从中推送的地方。所以我无法返回主应用程序屏幕。

有解决办法吗?目前,我必须在我的配置文件列表未更新但导航正常工作或我的配置文件列表更新但导航不起作用之间进行选择。

在导航方面,我需要的是:

第 1 页 => 页 2 => 第 3 页 => 第 2 页 => 第 1 页

多亏了这个,我找到了解决问题的方法:https://www.filledstacks.com/post/flutter-navigation-cheatsheet-a-guide-to-the-navigator/

所以基本上,我不得不从设置页面弹出,但向其添加值"true",如下所示:

Navigator.pop(context, true);

然后,在我的列表视图页面中,我所要做的就是等待这个值回来,此时我可以重新加载我的列表,如下所示:

var navigationResult = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
ProfileCreator(),
),
);
if (navigationResult == true){
setState(() {
getList();
});

我希望有一天这对某人有用...

相关内容

  • 没有找到相关文章

最新更新