Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在颤振中,除了if(routeSettings.isInitialRoute)之外还有什么选择_Android_Flutter_Dart_Mobile - Fatal编程技术网

Android 在颤振中,除了if(routeSettings.isInitialRoute)之外还有什么选择

Android 在颤振中,除了if(routeSettings.isInitialRoute)之外还有什么选择,android,flutter,dart,mobile,Android,Flutter,Dart,Mobile,由于isInitialRoute已从颤振中删除,我还可以使用什么替代?(如果我们可以直接解决,初始路线为/) 小部件构建(构建上下文){ 返回式示波器( 孩子:领航员( 键:导航键, initialRoute:initialRoute, OnGeneratorOute:(路由设置路由设置){ WidgetBuilder=路由[routeSettings.name]; if(routeSettings.isInitialRoute){ 返回页路由生成器( 页面生成器:(上下文,_uuuuuuuuu

由于isInitialRoute已从颤振中删除,我还可以使用什么替代?(如果我们可以直接解决,初始路线为/)

小部件构建(构建上下文){
返回式示波器(
孩子:领航员(
键:导航键,
initialRoute:initialRoute,
OnGeneratorOute:(路由设置路由设置){
WidgetBuilder=路由[routeSettings.name];
if(routeSettings.isInitialRoute){
返回页路由生成器(
页面生成器:(上下文,_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu)=>builder(上下文),
设置:路由设置,
);
}否则{
返回物料路线(
建筑商:建筑商,
设置:路由设置,
);
}
},
),
onWillPop:(){
if(navigationKey.currentState.canPop()){
navigationKey.currentState.pop();
返回Future.value(false);
}
返回未来值(true);
},
);
}

对于未来的读者,您需要阅读迁移指南

:

Route类不再在overlay中管理其覆盖项,其
install()
方法不再具有
insertionPoint
参数。
RouteSetting
中的
isInitialRoute
属性已被弃用,并且
Navigator.pop()
不再返回值

因此,您应该使用的是:

您可以将
Navigator.canPop()
Navigator.pop()
结合使用,以获得相同的结果


他妈的,错误引用资料对任何人都有什么帮助??OP询问了isInitialRoute,即引用页面中的案例2。这不是你编辑这篇文章所反映的情况1。这完全是无益的,毫无意义的后期编辑。对于下面的人,请阅读以下所有内容。不要做编辑这篇文章的人做过的事,读几行。自大的胡说八道。
    Widget build(BuildContext context) {
      return WillPopScope(
        child: Navigator(
          key: navigationKey,
          initialRoute: initialRoute,
          onGenerateRoute: (RouteSettings routeSettings) {
            WidgetBuilder builder = routes[routeSettings.name];
            if (routeSettings.isInitialRoute) {
              return PageRouteBuilder(
                pageBuilder: (context, __, ___) => builder(context),
                settings: routeSettings,
              );
            } else {
              return MaterialPageRoute(
                builder: builder,
                settings: routeSettings,
              );
            }
          },
        ),
        onWillPop: () {
          if(navigationKey.currentState.canPop()) {
            navigationKey.currentState.pop();
            return Future<bool>.value(false);
          }
          return Future<bool>.value(true);
        },
      );
    }