gpt4 book ai didi

flutter - 将 rootNavigator 路由弹出回 CupertinoTabView 路由时,不会调用 didPopNext

转载 作者:行者123 更新时间:2023-12-05 06:12:35 29 4
gpt4 key购买 nike

我的应用程序使用 CupertinoTabScaffold 和 CupertinoTabView,后者使用自己的导航器(不是根导航器)。要打开应该覆盖整个屏幕(还有选项卡)的某个屏幕,我正在使用 Navigator.of(context, rootNavigator: true).push。问题是出于不同的目的,我正在使用 routeObserver 和 RouteAware 跟踪屏幕变化。我发现,对于上面提到的使用根导航器打开屏幕的情况,关闭全屏页面时没有调用 didPopNext 。我假设它与通过关闭此屏幕 Flutter 从根导航器切换回 CupertinoTabView 这一事实有某种关系。知道如何解决吗?

最佳答案

你应该添加这个:


@override
void didChangeDependencies() {
super.didChangeDependencies();
// add this
routeObserver.subscribe(this, ModalRoute.of(context));
}
  @override
void dispose() {
routeObserver.unsubscribe(this);
super.dispose();
}
final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>();
...

MaterialApp(
navigatorObservers: [routeObserver],

关于flutter - 将 rootNavigator 路由弹出回 CupertinoTabView 路由时,不会调用 didPopNext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63591892/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com