это работает, спасибо!
ли использовать Navigator.popUntil с маршрутами, которые не имеют фиксированных имен?
У меня маршрут создан следующим образом:
final _key_homepage = new GlobalKey<HomePageState>();
Navigator.pushReplacement(context, new MaterialPageRoute(
builder: (BuildContext context) => new HomePage(key: _key_homepage, somevariable1: 'some value', somevariable2: 'some value 2'),
));
Теперь, когда я получаю push-уведомление на любом экране и отображаю всплывающее сообщение, одна из кнопок должна вести к маршруту, указанному выше. Маршрут уже создан и должен быть «добавлен». Как это сделать?
С именованным маршрутом это можно сделать так:
new FlatButton(
child: new Text('Go to homepage'),
onPressed: () {
Navigator.popUntil(context, ModalRoute.withName('/homepage'));
//how to do the same without ModalRoute.withName('/homepage')
},
)
Доступны как «ключ», так и контекст желаемого маршрута. Однако повторное воссоздание маршрута не кажется хорошим решением, поскольку создание исходного маршрута включает некоторые переменные (somevariable1, somevariable2 и т. Д.).
Есть ли способ добиться этого?