android - Flutter:如果页面已经被压入堆栈,如何重新打开它们?

标签 android dart flutter

我正在学习 Flutter,我有一个关于导航的问题。我的应用程序有 3 个页面,每个页面都包含相同的抽屉,使用 navigator.push() 在它们之间导航。现在我可以一遍又一遍地插入“相同”页面,然后使用后退按钮(navigator.pop)一个接一个地重新打开它们。有没有办法只创建一次每个页面然后重新打开它,如果它已经被推送到堆栈中?

最佳答案

我终于找到了一种方法,但没有导航器。我已将所有 Scaffolds 放在 PageWiew 中,禁用滑动操作并将 AutomaticKeepAliveClientMixin 添加到每个页面。在抽屉中,我用 PageController.jumpToPage 更改了 Navigator.push 代码。现在它正在按我的意愿工作,但我仍然想知道这是否是“正确”的解决方案?

关于android - Flutter:如果页面已经被压入堆栈,如何重新打开它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54974353/

相关文章:

android - 如何删除日期范围不匹配的Android sqlite中的行

每次应用程序启动时,Android 启动画面都会显示不同的图像

flutter - 无法从 Flutter Firebase 中的 DocumentReference 获取 DownloadURL 或 StorageReference

android - flutter "this function has a return type of void and cannot be used"

dart - 如何在小部件的子级中使用 "for"循环?

flutter - 映射字段运行时检查是否有问题?

flutter - 下载 ZIP、解压并显示图像文件,但不从文档目录加载?

javascript - 安卓 WebView : Is there an on onPageFinished when a link targets a frame?

android - 在不使用 Intent 的情况下在android中扫描条形码

dart - null-safe dart 中的可选参数是否自动可为空?如果不是,有没有一种简单的方法可以使我的代码空安全?