Flutter 换屏回调
Posted
技术标签:
【中文标题】Flutter 换屏回调【英文标题】:Flutter screen change callback 【发布时间】:2018-12-19 09:27:56 【问题描述】:我想在屏幕更改时获得回调,这样我就可以停止在该特定屏幕上运行的重复请求。 “dispose”仅在使用 Navigator.pop 时调用,而不是在调用 Navigator.push 时调用。有没有办法检测到屏幕改变了,暂时没有显示?
【问题讨论】:
“换屏”是什么意思? 也许是***.com/questions/50815014/… ? 我的意思是像使用 Navigator.push 或 Navigator.pop 导航到新路线。对于 pop,它可以按我的意愿工作,调用 dispose 方法,但对于 push,它不会被调用。initState()
在导航到新页面时应该被调用。仍然不确定您要完成什么。
我有一个屏幕,每 10 秒我会发送一个请求以检查行程状态。当您单击该屏幕上的某个按钮时,它可以打开地图页面、信息页面或票务页面。所以我想要做的是,当用户点击任何按钮打开一个新屏幕时,我希望能够取消计时器,这样它就不会继续发送请求。通常在android上的片段,我会取消“onPaused”上的计时器,并在“onResume”上重新启动它。我需要类似的东西。
【参考方案1】:
在您的 MaterialApp 或 WidgetsApp 上注册一个 RouteObserver,并使您的有状态小部件成为 RouteAware。示例代码:RouteObserver
【讨论】:
谢谢,这正是我需要的!以上是关于Flutter 换屏回调的主要内容,如果未能解决你的问题,请参考以下文章