- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个使用 Flutter 播放音乐的应用程序。
我创建了一个名为 MusicService 的类,其中所有音乐功能都在 playMusic、seekMusic、onAudioComplete 等方法中实现。
我有基于轨道构建的 TrackScreen(带有轨道背景、描述等)。在屏幕的 init 方法中,我调用了 MusicService 的一个实例来在屏幕上播放音乐。到现在为止还挺好。
我想做的是在轨道完成后构建一个新屏幕。此屏幕应基于播放列表中的下一首轨道。
我认为的解决方案是在 MusicService 类的 onAudioComplete 方法中调用 Navigator.Push。问题是 Navigator.Push 需要一个上下文,我不知道如何指定它来引用它被调用的上下文,即 TrackScreen 上下文。
你有解决这个问题的想法吗?我是不是误会了什么?
感谢您的帮助
最佳答案
您可以在没有 context
的情况下导航通过使用 navigatorKey
您的MaterialApp
首先,您必须声明一个 GlobalKey
final GlobalKey<NavigatorState> navKey = GlobalKey<NavigatorState>();
child: MaterialApp(
navigatorKey: navKey,
...
navKey.currentState.push(...)
关于flutter - 在类方法中使用 Navigator.push (MaterialPageRoute),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61331221/
我有4个屏幕。 X,A,B,C。导航模式应如下所示 这是代码 X 屏幕 class X extends StatelessWidget { @override Widget build(Bui
我一直在学习使用Flutter文档编写应用程序达2周之久。今天,我遇到了有关Navigator.push()的问题。一切正常,但不是在重新启动笔记本电脑之后。我找不到解决方案,我尝试过 flutter
是否可以在 RaisedButton 中关闭 MaterialPageRoute?我想这样做,如果您在文本字段中输入 1 并转到第 2 页。这可能吗?如果可能的话如何? Padding(
我正在按照 Flutter 文档中的教程进行操作,您在其中创建了一个启动命名应用程序。该应用程序由两个页面组成:一个是无限的随机生成的启动名称列表,您可以将其添加到您的收藏夹,另一个是收藏夹页面,您可
设置 我必须使用简单的路线,FirstRoute 和 SecondRoute。每个都包含一个用于导航的按钮。按 FirstRoute 的按钮会转到第二个,反之亦然。 异常 当我尝试从 FirstRou
我正在构建一个使用 Flutter 播放音乐的应用程序。 我创建了一个名为 MusicService 的类,其中所有音乐功能都在 playMusic、seekMusic、onAudioComplete
我正在创建一个包含 TextField 的页面,当用户在其中输入 3 个以上的字符时,我会从数据库中获取包含插入文本的行。在我提供的示例中,我通过获取列表来模拟它。向用户显示此列表后,用户可以点击其中
是否可以通过通知点击导航到应用中的特定 MaterialPageRoute?我在主屏幕中配置了通知: void _configureNotifications() { final Firebase
在下面的示例中,当我推送新的 MaterialPageRoute 时,它与 Flutter 小部件树中的 Home 小部件在同一级别上创建。我想把它作为小部件 Home 的 child ,所以 H
我有一个显示用户列表的小部件。单击列表元素时,将创建一个新的 MaterialPageRoute 并将其推送到导航器以打开显示消息历史记录的该用户的聊天屏幕。 class Users extends
我正在构建一个 flutter 应用程序,我正在尝试使用 MaterialPageRouter 将数据传递到页面,但我收到一条错误消息,提示 “参数类型 'MaterialPageRoute dyna
我想使用 Navigator.push (MaterialPageRoute) 而不是 AlertDialog,因为现在我认为让我的用户拥有一个完整的页面来发布内容而不是一个对话框更好,我将如何编辑我
我收到此错误 flutter_windows_v1.9.0-dev 但我不知道如何解决它。 Missing type arguments for generic type "MaterialPageR
我目前可以将 MaterialRoute 从 Flutter 中的 Home App 路由到页面,并显示一个弹出对话框。但是,从第二页路由到第三页(其中包含一个应该显示对话的按钮)时,我收到此错误:[
我正在学习 flutter,这段代码直接来自老师。我知道 flutter 一直在变化,这可能就是它没有运行的原因。不管怎样,它是: class Klimatic extends StatefulWid
我正在尝试使用命名路由导航到另一个页面: ... RaisedButton( child: Text('Get image'), onPressed:
我是一名优秀的程序员,十分优秀!