flutter – 使用不包含导航器的上下文请求导航器 *** 作

flutter – 使用不包含导航器的上下文请求导航器 *** 作,第1张

概述我正在尝试在onTap中启动一个新屏幕,但是我收到以下错误: Navigator operation requested with a context that does not include a Navigator. 我用来导航的代码是: onTap: () { Navigator.of(context).pushNamed('/settings'); }, 我在我的应用程序中设置了一条路线, 我正在尝试在onTap中启动一个新屏幕,但是我收到以下错误:

Navigator operation requested with a context that does not include a
Navigator.

我用来导航的代码是:

onTap: () { Navigator.of(context).pushnamed('/settings'); },

我在我的应用程序中设置了一条路线,如下所示:

routes: <String,WidgetBuilder>{    '/settings': (BuildContext context) => new SettingsPage(),},

我试图使用stocks示例应用程序复制代码.我查看了Navigator和Route文档,但无法弄清楚如何使用Navigator包含上下文. onTap中使用的上下文是从传递给构建方法的参数中引用的:

class MyApp extends StatelessWidget {  @overrIDe  Widget build(BuildContext context) {

SettingsPage是一个类,如下所示:

class SettingsPage extends Navigator {Widget buildAppbar(BuildContext context) {  return new Appbar(    Title: const Text('Settings')  );}@overrIDeWidget build(BuildContext context) {  return new Scaffold(    appbar: buildAppbar(context),); }}
解决方法 我在Flutter应用程序中设置了这个简单的路由示例:

import 'package:Flutter/material.dart';voID main() {  runApp(new MyApp());}class MyApp extends StatelessWidget {  @overrIDe  Widget build(BuildContext context) {    return new MaterialApp(      Title: 'Flutter Demo',home: new MyHomePage(),routes: <String,WidgetBuilder>{        '/settings': (BuildContext context) => new SettingsPage(),);  }}class MyHomePage extends StatelessWidget {  @overrIDe  Widget build(BuildContext context) {    return new Scaffold(      appbar: new Appbar(        Title: new Text('TestProject'),),body: new Center(        child: new Flatbutton(          child: const Text('Go to Settings'),onpressed: () => Navigator.of(context).pushnamed('/settings')        )      )    );  }}class SettingsPage extends StatelessWidget {  @overrIDe  Widget build(BuildContext context) {    return new Scaffold(        appbar: new Appbar(          Title: new Text('SettingsPage'),body: new Center(            child: new Text('Settings')        )    );  }}

请注意,SettingsPage扩展了StatelessWidget而不是Navigator.我无法重现您的错误.

此示例是否可以帮助您构建应用程序?如果我可以帮助你,请告诉我.

总结

以上是内存溢出为你收集整理的flutter – 使用不包含导航器的上下文请求导航器 *** 作全部内容,希望文章能够帮你解决flutter – 使用不包含导航器的上下文请求导航器 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存