将数据广播到 Flutter 中的多个 widget

2023-11-24

有没有一种方法可以将数据从一个小部件广播到其他小部件?类似于 Android 上的 BroadcastReceiver 或 iOS 上的 NSNotificationCenter。

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


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

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

当您的登录页面调用时Navigator.pop(true), the Future将完成的值为true这将被分配给isLoggedIn多变的。 (你会得到null如果用户使用后退按钮返回到上一屏幕。)

就是这样showDialog也有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据广播到 Flutter 中的多个 widget 的相关文章

  • 如何使用phonegap在iOS应用程序中防止键盘推送webview

    当屏幕底部的输入字段获得焦点时 键盘会向上推我的网络视图 并且页面的上部不再可见 我想防止键盘推高网络视图 有人有主意吗 对焦 设置window scrollTo 0 0 这可以防止键盘完全推高 webview input on focus
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 使用输入类型 = 文件捕获照片时移动 safari 崩溃

    我正在使用输入类型文件在 iOS 中启动相机 我正在使用以下代码行
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移
  • 所有 RestKit 项目在归档时都无法构建

    这个问题涉及RESTKIT 0 9 x 如果您是 Restkit 新手 请考虑使用较新的版本0 10 x https github com RestKit RestKit tree v0 10 1 branch 我最近继承了一个项目 使用r
  • UIViewController 内的 UIsearchController 使用自动布局

    有没有人成功实施过UIViewController其中包含两个UISearchController searchBar and a UItableView使用自动布局来布局所有内容 我正在尝试实现类似的目标1密码 https itunes
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1

随机推荐

  • Prolog:将 DCG 语法与其他限制相结合

    Prolog 的 DCG 以及我能够快速生成适合特定语法的所有可能结构的速度给我留下了深刻的印象 但我想将此搜索与其他约束结合起来 例如 定义一个复杂的语法 并要求 Prolog 生成所有不超过 10 个单词的句子 或者所有不重复同一个单词
  • Ajax 数据源(对象):TypeError:f 未定义

    我正在开发我的 ASP Net Web 应用程序 我必须使用 Ajax 数据源填充 HTML 表 为此我使用 jQuery DataTables 插件 HTML 代码 table class table table striped tabl
  • 您如何分析您的代码?

    我希望不是每个人都在使用 Rational Purify 那么当您想要测量时该怎么办 函数所花费的时间 内存使用峰值 代码覆盖率 目前 我们手动执行此操作 使用带有时间戳的日志语句和另一个脚本来解析日志并输出到 Excel 唷 你会推荐什么
  • 需要在sql server中通过四舍五入的时间或日期数字来计算

    我在 Ms Sql 2008 中有 2 个数据列 uniqueidentifier 列作为 ID 和日期时间列 其结果如下所示 2011 11 06 18 02 18 030 2011 11 06 18 02 18 373 2011 11
  • 具有多个位置的 Spring 属性占位符配置器中的属性解析顺序是什么?

    假设我有一个配置
  • 在Scheme中使用let

    我想编写一个程序来求Scheme中二次方程的根 我使用 LET 来进行某些绑定 define roots with let a b c let 4ac 4 a c 2a 2 a discriminant sqrt b b 4ac cons
  • 如何使用TypeScript将大对象映射到更小的界面?

    我有一个从服务器返回的对象 其中包含例如 lorem 1 ipsa 2 3 dolor sit amet consectetur adipiscing elit you get the picture 和一个 TypeScript 接口 e
  • 如何绕过特定网址的“angular-in-memory-web-api”

    我正在使用 angular in memory web api 来模拟我的 REST Web api 但是现在我已经开始编写实际的 Web api 并且我想替换 angular in memory web api 步骤一步一步 例子 我写了
  • 带有布局的自定义错误页面

    我一直在努力让自定义错误页面正常工作 并不断寻找回到简单使用静态页面的方法 虽然静态页面可以工作 但它需要重新制作导航栏 这是我们目前希望避免的 我目前正在使用以下内容来指定自定义错误页面 Asp net 错误处理
  • ES6 中 var 的用例是什么?

    If the let关键字引入了块作用域的正确实现 var还有用例吗 我是从软件设计的角度来看这个问题的 而不是从语法的 你可以 的角度来看的 If the let关键字引入了块作用域的正确实现 var还有用例吗 可能有一种用例 let全局
  • 累积汇总列

    我可能需要一些有关 SQL 语句的帮助 所以我有一个表 cont 如下所示 cont id name weight 1 1 10 2 1 20 3 2 40 4 2 15 5 2 20 6 3 15 7 3 40 8 4 60 9 5 10
  • 异步/等待不同的线程ID

    我最近正在阅读有关 async await 的内容 我对以下事实感到困惑 我正在阅读的许多文章 帖子都表明使用 async wait 时不会创建新线程 example 我创建了一个简单的控制台应用程序来测试它 class Program s
  • JQuery Datepicker,无法手动触发onSelect事件!

    我正在使用 jquery 的日期选择器 每当从内联日期选择器对象中选取日期时 都会通过 ajax 调用填充项目列表 该脚本工作完美 只是我无法触发 onSelect 事件来填充我的初始项目列表 我可以通过最初使用 php 填充列表来解决这个
  • 当客户端刷新或打开新页面时,Socket.io 在客户端保持连接

    如果用户打开新页面或刷新页面 是否有某种方法可以在客户端保持相同的 socket io 连接 可能将套接字存储在会话中或者这是不可能的 不可能 当页面更改或刷新时 您无法保持相同的 socket io 或 webSocket 客户端连接 浏
  • 将 JSON 转换为数组 Javascript

    我当前正在从应用程序的服务器端接收 JSON 对象 结果是这样的 tags value 2 label Dubstep value 3 label BoysIIMen value 4 label Sylenth1 但后来我真的不需要结果中的
  • C# 中默认的访问修饰符是什么?

    类 方法 成员 构造函数 委托和接口的默认访问修饰符是什么 C 中所有内容的默认访问权限是 您可以为该成员声明的最受限制的访问权限 例如 namespace MyCompany class Outer void Foo class Inne
  • 如何将控件设置为透明背景

    如何将控件的背景设置为透明 我说的是Label and Text目前的控件 但可以是我在 GUI 中看到的任何标准控件 shell setBackgroundMode SWT INHERIT FORCE 会做你想做的事 The Compos
  • UTF-8 可在 Eclipse 上使用,但无法使用导出的 jar

    我正在开发一个桌面应用程序Java Swing并将数据保存在MySQL阿拉伯语数据库 使用UTF 8 当我运行应用程序时Eclipse一切都运行良好 但是当我完成并将我的工作导出到runnable jar using Eclipse exp
  • 在 JavaScript 中检测 WebKit 设备的物理屏幕尺寸

    我想在客户端 JavaScript 代码中按屏幕宽度对设备进行分类 所有适合一只手 7 英寸以下 的设备均属于移动类别 将其他设备视为桌面设备 Fallback 将不支持必要 API 的设备视为移动设备 Question 我可以使用哪些相关
  • 将数据广播到 Flutter 中的多个 widget

    有没有一种方法可以将数据从一个小部件广播到其他小部件 类似于 Android 上的 BroadcastReceiver 或 iOS 上的 NSNotificationCenter 具体来说 我试图检测导航器何时弹出或推送新视图 我将 nav