terrydiederich2
1/31/2019 - 9:48 PM

Builder for context error

Performing hot reload...
Syncing files to device Android SDK built for x86...
Reloaded 1 of 419 libraries in 1,185ms.
I/flutter (16667): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter (16667): The following assertion was thrown while handling a gesture:
I/flutter (16667): Navigator operation requested with a context that does not include a Navigator.
I/flutter (16667): The context used to push or pop routes from the Navigator must be that of a widget that is a
I/flutter (16667): descendant of a Navigator widget.
I/flutter (16667): 
I/flutter (16667): When the exception was thrown, this was the stack:
I/flutter (16667): #0      Navigator.of.<anonymous closure> (package:flutter/src/widgets/navigator.dart:1291:9)
I/flutter (16667): #1      Navigator.of (package:flutter/src/widgets/navigator.dart:1298:6)
I/flutter (16667): #2      _SampleAppState.build.<anonymous closure> (package:flutter_builder_question/main.dart:26:42)
I/flutter (16667): #3      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
I/flutter (16667): #4      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
I/flutter (16667): #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
I/flutter (16667): #6      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
I/flutter (16667): #7      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
I/flutter (16667): #8      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
I/flutter (16667): #9      PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
I/flutter (16667): #10     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
I/flutter (16667): #11     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:180:19)
I/flutter (16667): #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22)
I/flutter (16667): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7)
I/flutter (16667): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
I/flutter (16667): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
I/flutter (16667): #16     _invoke1 (dart:ui/hooks.dart:168:13)
I/flutter (16667): #17     _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5)
I/flutter (16667): 
I/flutter (16667): Handler: onTap
I/flutter (16667): Recognizer:
I/flutter (16667):   TapGestureRecognizer#048ad(debugOwner: GestureDetector, state: possible, won arena, finalPosition:
I/flutter (16667):   Offset(379.0, 44.9), sent tap down)
I/flutter (16667): ════════════════════════════════════════════════════════════════════════════════════════════════════



import 'package:flutter/material.dart';

void main() {
  runApp(SampleApp());
}

// This app is a stateful, it tracks the user's current choice.
class SampleApp extends StatefulWidget {
  @override
  _SampleAppState createState() => _SampleAppState();
}

class _SampleAppState extends State<SampleApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      routes: <String, WidgetBuilder>{
        '/search': (BuildContext context) => new SearchScreen()
      },
      home: Scaffold(
        appBar: AppBar(
          title: const Text('AppBar Menu'),
          actions: <Widget>[
            IconButton(
              icon: Icon(Icons.search),
              onPressed: () => Navigator.of(context).pushNamed('/search'),
            ),
          ],
        ),
        body: Center(
          child: Text('Main Screen'),
        ),
      ),
    );
  }
}

//class _SampleAppState extends State<SampleApp> {
//  @override
//  Widget build(BuildContext context) {
//    return MaterialApp(
//        routes: <String, WidgetBuilder>{
//          '/search': (BuildContext context) => new SearchScreen()
//        },
//        home: Builder(
//          builder: (context) => Scaffold(
//            appBar: AppBar(
//              title: const Text('AppBar Menu'),
//              actions: <Widget>[
//                IconButton(
//                  icon: Icon(Icons.search),
//                  onPressed: () =>
//                      Navigator.of(context).pushNamed('/search'),
//                ),
//              ],
//            ),
//            body: Center (
//              child: Text('Main Screen'),
//            ),
//          ),
//        ));
//  }
//}

class SearchScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: Center(
        child: Text('Search Screen'),
      ),
    );
  }
}