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