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

问题描述 投票:0回答:1

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

我有两个屏幕。

  1. 设置屏幕
  2. 编辑屏幕

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

flutter flutter-navigation
1个回答
1
投票

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();
});
© www.soinside.com 2019 - 2024. All rights reserved.