Search code examples
flutterflutter-layoutflutter-getx

Flutter call setState after Get.back()


I need to reload page after Get.back(). How to do it? How to call any method on previous page as soon as possible after using Get.back()? For example:

  1. I'm on Page1
  2. Go to Page2
  3. Use Get.back(), so user back to Page1
  4. Usually user now see Page1 exactly like when he leave Page1. How to reload now view Page1?

Maybe is any method to override what I can call every time after navigate one page back? This method must come from Page1, not from Page2


Solution

  • you can do await while navigating to page 2.

    Example:

    await Get.to(()=> Page2());
    setState({
       // perform update
    });
    

    the setState will get fired once you come back to page 1 from page 2

    another, similar example, code from Page1:

    ListTile(
       title: const Text("Item"),
       onTap: () async {
          await Get.toNamed(page2);
          setState(() {});
       }),
    

    Using this sample, refresh (setState) fired after return from Page2 to Page1.