请求导航器操作的上下文不包含导航器
完整代码在这里
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new Scaffold(
drawer: new Drawer(child: new ListView(
children: <Widget>[
new DrawerHeader(
decoration:BoxDecoration(
color: Colors.blue
),
child: new Container(
child: new Text("Hearer name"),
),),
new ListTile(
title: new Text("pop1"),
onTap: (){Navigator.pop(context);},
),
new ListTile(
title: new Text("pop2"),
onTap: (){Navigator.pop(context);},
),
new Container(
padding: const EdgeInsets.all(20.0),
child: new Text("asdsad"),
decoration: BoxDecoration(
color: Colors.grey
),
), new ListTile(
title: new Text("pop4"),
onTap: (){Navigator.pop(context);},
),
new Container(
padding: const EdgeInsets.all(20.0),
child: new Text("opt2"),
), new Container(
padding: const EdgeInsets.all(20.0),
child:
new Text("Asdsa"),
),
],
),),
appBar: new AppBar(
title: new Text("Hi , i am milla"),
),
body: new Center(
child: new ListView(
shrinkWrap: true,
padding: const EdgeInsets.all(20.0),
children: <Widget>[
new ProductItem("orange"),
],
)
),
),
);
}
完整的错误代码
:══╡通过手套的异常╞══════════════════════════════════════════════════════════════════════════════════════════════════════ ════════════════════════════════════════════════════════════════════════════════════════════════════════════════════>>> :使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):用于从导航器推送或弹出路由的上下文必须是作为I / flutter(3551)的小部件的上下文:Navigator小部件的后代 . I / flutter(3551):I / flutter(3551):当抛出异常时,这就是堆栈:I / flutter(3551):#0 Navigator.of . (包:flutter / src / widgets / navigator.dart:1179:9)I / flutter(3551):1 Navigator.of(包:flutter / src / widgets / navigator.dart:1186:6)I / flutter(3551) ):2 Navigator.pop(包:flutter / src / widgets / navigator.dart:1072:22)I / flutter(3551):#3 _MyAppState.build . (file:///project/flutter_app_2/lib/main.dart:31:38)I / flutter(3551):4 _InkResponseState._handleTap(package:flutter / src / material / ink_well.dart:494:14)I / flutter(3551):5 _InkResponseState.build . (包:flutter / src / material / ink_well.dart:549:30)I / flutter(3551):6 GestureRecognizer.invokeCallback(包:flutter / src / gestures / recognizer.dart:102:24)I / flutter(3551) ):#7 TapGestureRecognizer._checkUp(包:flutter / src / gestures / tap.dart:161:9)I / flutter(3551):#8 TapGestureRecognizer.acceptGesture(package:flutter / src / gestureures / tap.dart:123 :7)I / flutter(3551):#9 GestureArenaManager.sweep(包:flutter / src / gestures / arena.dart:156:27)I / flutter(3551):10 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent(package:flutter / src /手势/ binding.dart:147:20)I / flutter(3551):11 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent(包:flutter / src / gestures / binding.dart:121:22)I / flutter(3551):12 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent( package:flutter / src / gestures / binding.dart:101:7)I / flutter(3551):13 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue(package:flutter / src / gestures / bi nding.dart:64:7)I / flutter(3551):14 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket(package:flutter / src / gestures / binding.dart:48:7)I / flutter(3551):15 _invoke1(dart:ui / hooks.dart:134:13)I / flutter(3551):#16 _dispatchPointerDataPacket(dart:ui / hooks.dart:91:5)I / flutter(3551):I / flutter(3551):处理程序:onTap I / flutter(3551):识别器:I / flutter(3551):TapGestureRecognizer#a8d39(debugOwner:GestureDetector,state:ready,won arena,finalPosition:I / flutter(3551):Offset(51.9,239.7),send tap down)I / flutter(3551):══════════════════════════════════════════════════════════════════════════════════════════════════ ══════════════════════════════════════════════════ = / flutter(3551):抛出了另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . I / flutter(3551):抛出另一个异常:使用不包含导航器的上下文请求导航器操作 . D / EGL_emulation(3551):eglMakeCurrent:0xa84052a0:ver 2 0(tinfo 0xa84032d0)与设备的连接丢失 .
2 回答
我检查了你的代码,它在这里使用这个虚拟代码工作正常...
我认为这段代码可能对您有所帮助 .
in Drawer screen: