You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter报错:Function()无法赋值给Widget Function(BuildContext)参数的解决方法

错误原因

MaterialPageRoute的builder参数要求传入一个**接收BuildContext类型参数并返回Widget**的函数,但你编写的builder: (){ return MyApp(); }是无参函数,与要求的参数类型不匹配,因此触发类型赋值错误。

解决方法

给builder对应的函数添加BuildContext参数即可,Dart支持自动推断参数类型,所以可以简写为(context):

child: Center(
    child: MaterialButton(onPressed: (){
      Navigator.of(context).push(
          MaterialPageRoute(builder: (context){
              return MyApp();
      }),
      );
    }),
),

也可以显式声明参数类型:

child: Center(
    child: MaterialButton(onPressed: (){
      Navigator.of(context).push(
          MaterialPageRoute(builder: (BuildContext context){
              return MyApp();
      }),
      );
    }),
),

另外注意补全原代码中缺失的闭合括号,避免出现其他语法错误。

内容的提问来源于stack exchange,提问作者Hirdesh prajapati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:35:00