@Feu Я столкнулся с той же проблемой после ее реализации, как и выше ответ

у показать диалоговое окно оповещения на основе условия. Не основано на взаимодействии с пользователем, таком как событие нажатия кнопки.

Если флаг установлен в диалоговом окне предупреждения о состоянии приложения, в противном случае его нет.

Ниже приведен пример диалогового окна оповещения, которое я хочу показать

  void _showDialog() {
    // flutter defined function
    showDialog(
      context: context,
      builder: (BuildContext context) {
        // return object of type Dialog
        return AlertDialog(
          title: new Text("Alert Dialog title"),
          content: new Text("Alert Dialog body"),
          actions: <Widget>[
            // usually buttons at the bottom of the dialog
            new FlatButton(
              child: new Text("Close"),
              onPressed: () {
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }

Я пытался вызвать этот метод внутри метода сборки виджета на главном экране, но он выдает ошибку -

 The context used to push or pop routes from the Navigator must be that of a widget that is a descendant of a Navigator widget.
E/flutter ( 3667): #0      Navigator.of.<anonymous closure> (package:flutter/src/widgets/navigator.dart:1179:9)
E/flutter ( 3667): #1      Navigator.of (package:flutter/src/widgets/navigator.dart:1186:6)
E/flutter ( 3667): #2      showDialog (package:flutter/src/material/dialog.dart:642:20)

Проблема в том, что я не знаю, откуда мне вызывать этот метод _showDialog?

Ответы на вопрос(0)

Ваш ответ на вопрос