gpt4 book ai didi

flutter - 使用pop时如何在flutter中重新加载或调用某些函数initState()

转载 作者:行者123 更新时间:2023-12-03 13:31:00 28 4
gpt4 key购买 nike

当用户单击返回或我使用 Navigator.pop() 时,我试图运行一些方法在第二个屏幕中。

我有两个屏幕。

  • 设置画面
  • 编辑界面

  • 编辑后,我将用户弹出到第一秒。现在在第一个屏幕中我使用 SharedPreference .但是当用户回到第一个屏幕时,我需要重新运行一个方法。我怎样才能做到这一点?

    最佳答案

    在导航到 Edit 时屏幕来自 Settings屏幕,使用这个(在你的 Settings 屏幕内)

    Navigator.pushNamed(context, "/editScreen").then((_) {
    // you have come back to your Settings screen
    yourSharedPreferenceCode();
    });

    如果您只想在发生在您的 Edit 上的某个事件上运行此代码屏幕,你可以利用 pop里面的方法 Edit像屏幕一样
    Navigator.pop(context, true); // pass true value

    上面的代码应该是:
    Navigator.pushNamed(context, "/editScreen").then((value) {
    if (value) // if true and you have come back to your Settings screen
    yourSharedPreferenceCode();
    });

    编辑:
    async-await看起来像:
    bool value = await Navigator.pushNamed(context, "/editScreen");
    if (value) // if true and you have come back to your Settings screen
    yourSharedPreferenceCode();

    关于flutter - 使用pop时如何在flutter中重新加载或调用某些函数initState(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58379231/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com