Flutter 颤振路由将弹出范围错误,但只有一次

Flutter 颤振路由将弹出范围错误,但只有一次,flutter,Flutter,嗨,我在给抽屉送菜单。它可以正常工作2页,但有一页给出了错误 当我第一次按下菜单时,它工作正常,然后当我转到另一页并返回时,它会给出此错误 我还尝试在mainApp上使用routes进行路由,但这种方式对我来说似乎更容易 我的抽屉 class MyDrawer extends StatefulWidget { @override State<StatefulWidget> createState() => _MyDrawerState(); } class _MyD

嗨,我在给抽屉送菜单。它可以正常工作2页,但有一页给出了错误

当我第一次按下菜单时,它工作正常,然后当我转到另一页并返回时,它会给出此错误

我还尝试在mainApp上使用routes进行路由,但这种方式对我来说似乎更容易

我的抽屉

class MyDrawer extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => _MyDrawerState();
}

class _MyDrawerState extends State {
  @override
  Widget build(BuildContext context) {
    return Drawer(
      child: ListView(
        children: <Widget>[
          DrawerHeader(
            child: Align(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[                  
                  Text(
                    "Test",
                    style: TextStyle(color: Colors.white, fontSize: 25.0),
                  ),
                ],
              ),
            ),
            decoration: BoxDecoration(
              color: Colors.blue,
            ),
          ),
          ListTile(
            leading: Icon(Icons.home),
            title: Text('Main'),
            trailing: Icon(Icons.arrow_right),
            onTap: () {
              Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => Main(),
                  ));
            },
          ),
          ListTile(
            leading: Icon(Icons.perm_device_information),
            title: Text('How'),
            trailing: Icon(Icons.arrow_right),
            onTap: () {
              //Navigator.pushNamed(context, "/how");
              Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => HowItWorks(),
                  ));
            },
          ),  
          ListTile(
            leading: Icon(Icons.keyboard),
            title: Text('Contact'),
            trailing: Icon(Icons.arrow_right),
            onTap: () {
              //Navigator.pushNamed(context, "/contact");
              Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => SendMail(),
                  ));
            },
          ),
          
        ],
      ),
    );
  }
}
classmydrawer扩展StatefulWidget{
@凌驾
State createState()=>\u MyDrawerState();
}
类_MyDroperState扩展状态{
@凌驾
小部件构建(构建上下文){
回程抽屉(
子:ListView(
儿童:[
抽屉阅读器(
子对象:对齐(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
正文(
“测试”,
样式:TextStyle(颜色:Colors.white,fontSize:25.0),
),
],
),
),
装饰:盒子装饰(
颜色:颜色,蓝色,
),
),
列表砖(
前导:图标(Icons.home),
标题:文本('Main'),
尾随:图标(图标。向右箭头),
onTap:(){
导航器。推(
上下文
材料路线(
生成器:(上下文)=>Main(),
));
},
),
列表砖(
前导:图标(图标、永久设备信息),
标题:文本(“如何”),
尾随:图标(图标。向右箭头),
onTap:(){
//Navigator.pushNamed(context,“/how”);
导航器。推(
上下文
材料路线(
生成器:(上下文)=>HowItWorks(),
));
},
),  
列表砖(
前导:图标(图标、键盘),
标题:文本(“联系人”),
尾随:图标(图标。向右箭头),
onTap:(){
//Navigator.pushNamed(上下文,“/contact”);
导航器。推(
上下文
材料路线(
生成器:(上下文)=>SendMail(),
));
},
),
],
),
);
}
}

共享代码,您在Scaffold上使用WillPopScope小部件。