相关疑难解决方法(0)

请求导航器操作的上下文不包含导航器

我正在尝试在onTap中启动一个新屏幕,但是我收到以下错误:

请求导航器操作的上下文不包含导航器.

我用来导航的代码是:

onTap: () { Navigator.of(context).pushNamed('/settings'); },
Run Code Online (Sandbox Code Playgroud)

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

routes: <String, WidgetBuilder>{
    '/settings': (BuildContext context) => new SettingsPage(),
},
Run Code Online (Sandbox Code Playgroud)

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
Run Code Online (Sandbox Code Playgroud)

SettingsPage是一个类,如下所示:

class SettingsPage extends Navigator {

Widget buildAppBar(BuildContext context) {
  return new AppBar(
    title: const Text('Settings')
  );
}

@override
Widget build(BuildContext context) {
  return new Scaffold(
    appBar: buildAppBar(context),
  );
 }
}
Run Code Online (Sandbox Code Playgroud)

flutter

33
推荐指数
7
解决办法
2万
查看次数

标签 统计

flutter ×1