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
Flutter 允许';上下文';要移动到不同的dart文件_Flutter_Dart - Fatal编程技术网

Flutter 允许';上下文';要移动到不同的dart文件

Flutter 允许';上下文';要移动到不同的dart文件,flutter,dart,Flutter,Dart,当前有一个Navigator.push(context,route),但是context部分返回一个错误,在尝试调试之后,我发现问题是因为我调用了一个函数,而不是直接将home设置为小部件树。但是现在我不确定如何获得上下文来与构建通信?不确定这是否得到了很好的解释,但希望通过查看代码可以澄清我的问题 在mainview()函数中传递“context”,获取运行时错误 class _MyAppmain extends State<MyApp> { @override Widge

当前有一个Navigator.push(context,route),但是context部分返回一个错误,在尝试调试之后,我发现问题是因为我调用了一个函数,而不是直接将home设置为小部件树。但是现在我不确定如何获得上下文来与构建通信?不确定这是否得到了很好的解释,但希望通过查看代码可以澄清我的问题

在mainview()函数中传递“context”,获取运行时错误

class _MyAppmain extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        theme: ThemeData(
            //theme data
            primaryColor: Color(0xffA3E4D7),
            accentColor: Color(0xffECF0F1),
            fontFamily: 'Montserrat'), 
        home: mainView());//this is where the function in the other file is called
  }
}
这是一个非常小的文件块,但我认为它应该足够了


我希望能够通过函数获取两个文件的上下文,但我得到了一个错误。

Navigator
是一个与
Scaffold
类似的小部件,但更接近小部件树的顶部。 调用
Navigator.of(context)
将获得上下文小部件树中的Navigator小部件。 [当按下fab时,小部件树中肯定有导航器。可能每个上下文只能在小部件树中找到深度较低的小部件]

修复方法是使用命名路由生成器而不是函数调用:

class\u MyAppmain扩展状态{
@凌驾
小部件构建(构建上下文){
返回材料PP(
主题:主题数据(
//主题数据
原色:颜色(0xffA3E4D7),
accentColor:Color(0xffECF0F1),
fontFamily:“蒙特塞拉特”),
initialRoute:“/”,
路线:{
“/”:(上下文)=>mainView(上下文),
},
);
}
}

Navigator
是一个与
Scaffold
类似的小部件,但更接近小部件树的顶部。 调用
Navigator.of(context)
将获得上下文小部件树中的Navigator小部件。 [当按下fab时,小部件树中肯定有导航器。可能每个上下文只能在小部件树中找到深度较低的小部件]

修复方法是使用命名路由生成器而不是函数调用:

class\u MyAppmain扩展状态{
@凌驾
小部件构建(构建上下文){
返回材料PP(
主题:主题数据(
//主题数据
原色:颜色(0xffA3E4D7),
accentColor:Color(0xffECF0F1),
fontFamily:“蒙特塞拉特”),
initialRoute:“/”,
路线:{
“/”:(上下文)=>mainView(上下文),
},
);
}
}

感谢您的回复!感谢您的回复!
floatingActionButton: FloatingActionButton(
          child: Icon(Icons.add),
          onPressed: () {
            Navigator.push(context, NewEventTransition());//the issue
          },
          mini: true,
        ),