androiddartflutter

Flutter - Navigate to a new screen, and clear all the previous screens


I used Navigator.push up to 6 screens to get to the payment page. After Payment, I want to push to the "Payment Successful" page then remove all the previous screens i.e using the back button will return to the very first screen.

NOTE: I have tried pushReplacementNamed and it doesn't work.


Solution

  • I figured it out. It was the Navigator.pushAndRemoveUntil function. Where i had to pass the PaymentSuccessful widget as the newRoute, and the "/Home" route as the predicate

      _navPaymentSuccessful(){
        Navigator.pushAndRemoveUntil(
          context, 
          MaterialPageRoute(
            builder: (context) => PaymentSuccessful()
          ), 
         ModalRoute.withName("/Home")
        );
      }