Как закрыть диалог Flutter извне - PullRequest
0 голосов
/ 05 августа 2020

Вот как мы закрываем диалог из INSIDE

 showSomeDialog() {
    return showDialog(
        context: context,
        builder: (BuildContext contextPopup) {
          return AlertDialog(
            content: Center(
              child: RaisedButton(
                onPressed: () {
                  Navigator.of(contextPopup).pop();
                },
                child: Text('Close me inside'),
              ),
            ),);
        }
    );
  }

Как закрыть этот диалог из OUTSIDE ? Другими словами, как виджет с отслеживанием состояния, создающий этот диалог, может получить доступ к переменной contextPopup? Проблема с Navigator.of(context).pop() заключается в том, что он закроет самый верхний виджет в стеке навигации, а не этот конкретный c диалог.

В Android, чтобы программно закрыть диалог из вне , вы просто делаете:

dialog.dismiss();
...