Navigator.pop()
当用户单击返回或在第二个屏幕中使用时,我正在尝试运行某种方法。
我有两个屏幕。
- 设定画面
- 编辑画面
编辑后,我将用户弹出到第一秒。现在在我使用的第一个屏幕中SharedPreference
。但是当用户回到第一个屏幕时,我需要重新运行一个方法。我怎样才能做到这一点?
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();