在扑朔迷离中,我使用的是AlertDialog,它具有2个操作按钮“确定”和“取消”,单击“确定”时,我要转到新屏幕并结束当前屏幕?

问题描述 投票:0回答:3
                  actions: <Widget>[
                    FlatButton(
                      onPressed: () { 
                        Navigator.of(context).pop();
                      },
                    child: Text('Cancel'),
                    ),
                    FlatButton(
                      onPressed: () {
                        Navigator.pushNamed(context, TyreScreen.id);
                      },
                      child: Text('Ok'),
                    ),

按下后,结束当前屏幕,请帮助,我要转到新屏幕,然后结束当前屏幕?

android flutter dart flutter-layout
3个回答
2
投票

尝试做Navigator.pushReplacement(context, newRoute);


1
投票

我认为您需要两次调用导航器弹出窗口,一个用于对话框,另一个用于当前屏幕。

FlatButton(
  onPressed: () {
    Navigator.of(context).pop(); //Will close the dialog
    Navigator.of(context).pop(); //Will close the current screen
    Navigator.pushNamed(context, TyreScreen.id); //Will push a new screen
  },
  child: Text('Ok'),
),

1
投票

尝试一下

actions: <Widget>[
                FlatButton(
                  onPressed: () { 
                    Navigator.of(context).pop();
                  },
                child: Text('Cancel'),
                ),
                FlatButton(
                  onPressed: () {
                    Navigator.pushNamed(context, TyreScreen.id).then((value) => Navigator.pop(context));
                  },
                  child: Text('Ok'),
                ),
© www.soinside.com 2019 - 2024. All rights reserved.