Как удалить предыдущий маршрут во Flutter?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как удалить предыдущий маршрут во Flutter?

Сообщение Anonymous »

У меня простой код.
routes: {
'/' : (context) => KartSelectorScreen(onKartSelected: _updateKartNumber, karts: karts),
'/car_info': (context) => KartInfoScreen(currentKart: getSelectedCar(initialKartNumber)),
'/car_ride': (context) => KartRideScreen(kartNumber: initialKartNumber),
},
initialRoute: widget.initialKartNumber == null ? '/' : '/car_info',

У меня проблема, когда запускаю приложение и если есть номер машины, то он уходит по адресу /car_info. Но когда вы нажимаете кнопку возврата, он возвращается в /. При этом такая строка есть в /car_info
void checkLongPress() {
if (isBottomRightPush && isTopRightPush) {
_resetKartNumber();
Navigator.pushNamedAndRemoveUntil(
context,
'/',
(route) => false,
);
}
}

С помощью этого кода кнопка просто закрывает приложение, как мне нужно. Как реализовать это в Initialroute?
Я пробую это, и это не работает
onGenerateRoute: (settings) {
WidgetBuilder builder;
switch (settings.name) {
case '/':
builder = (BuildContext _) => KartSelectorScreen(onKartSelected: _updateKartNumber, karts: karts);
break;
case '/car_info':
builder = (BuildContext _) => KartInfoScreen(currentKart: getSelectedCar(initialKartNumber));
break;
case '/car_ride':
builder = (BuildContext _) => KartRideScreen(kartNumber: initialKartNumber);
break;
default:
throw Exception('Invalid route: ${settings.name}');
}
return MaterialPageRoute(
builder: builder,
settings: settings,
maintainState: false,
);


Подробнее здесь: https://stackoverflow.com/questions/787 ... in-flutter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»