Я хочу закрыть страницу и вернуться на главную страницу в стеке после нажатия кнопки предупреждения «Да». Моя страница содержит текстовые поля, и когда я щелкаю значок, открывается страница поиска текстового поля. После того, как я щелкну любой элемент списка поиска, я вернусь на страницу формы. И я нажимаю кнопку «Назад» для отображения предупреждения. И нажмите кнопку Да, ошибка происходит. И если я не использую диалоговое окно с предупреждением, ошибки нет. Оповещение направляет меня на главную страницу, но страница списка поиска открывается снова. Как я могу решить эту ошибку?
Мой диалог предупреждения:
Future<bool> _onBackPressed() {
return showDialog(
context: context,
builder: (context) => new AlertDialog(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(8.0))),
title: new Text(ml(context, LC.are_you_sure)),
content: new Text(ml(context, LC.are_you_sure_quit_query)),
actions: <Widget>[
new GestureDetector(
onTap: () => Navigator.of(context).pop(false),
child: roundedButton(ml(context, LC.no),
Theme.of(context).primaryColor, Colors.white),
),
new GestureDetector(
onTap: () {
Navigator.of(context).pop(true);
},
child: roundedButton(ml(context, LC.yes),
Theme.of(context).primaryColor, Colors.white),
),
],
),
) ??
false;
}
Я использую код выше, чтобы перейти на главную страницу. Есть ли альтернатива?