加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

android – 将数据广播到Flutter中的多个小部件

发布时间:2020-12-14 14:52:26 所属栏目:百科 来源:网络整理
导读:有没有办法将数据从一个小部件广播到其他小部件?类似于 Android上的BroadcastReceiver或iOS上的NSNotificationCenter. 具体来说,我试图检测导航器何时弹出或推送新视图.我将navigatorObservers添加到MaterialApp.当一个小部件回到前台时,我希望能够通过广播
有没有办法将数据从一个小部件广播到其他小部件?类似于 Android上的BroadcastReceiver或iOS上的NSNotificationCenter.

具体来说,我试图检测导航器何时弹出或推送新视图.我将navigatorObservers添加到MaterialApp.当一个小部件回到前台时,我希望能够通过广播didPush和didPop的变化来通知它,当前前景中的实际路由

解决方法

Navigator.push返回一个将在调用Navigator.pop时完成的Future(这可以选择用于将数据传递回调用push的小部件).例如,假设您的登录按钮具有此onPressed处理程序:

onPressed: () async {
  bool isLoggedIn = await Navigator.pushNamed(context,'/login');
  if (isLoggedIn) {
    // do something
  }
}

当您的登录页面调用Navigator.pop(true)时,Future将以值true完成,该值将分配给isLoggedIn变量. (如果用户使用后退按钮返回上一个屏幕,您将获得null.)

这就是showDialog的工作原理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读