title: No MaterialLocalizations found - MyApp widgets require MaterialLocalizations to be provided by a Localizations widget ancestor
body: <p>I was just trying to create an app with button which shows an alert message when the button is pressed. </p>
  
  <p>But it gives me this error(Mentioned below).</p>
  
  <p>I wrote this code by taking reference of <a href="https://www.youtube.com/watch?v=h2U7S-3_rPc&amp;list=PLlxmoA0rQ-Lw6tAs2fGFuXGP13-dWdKsB&amp;index=13" rel="noreferrer">this</a> video. </p>
  
  <p>I am running the application on a live android phone using adb connect</p>
  
  <p>Please help..! </p>
  
  <p>Code</p>
  
  <pre><code>import 'package:flutter/material.dart';
  
  void main(){
    runApp(MyApp());
  }
  
  class MyApp extends StatelessWidget{
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        title: "Test",
        home: Scaffold(
          appBar: AppBar(title: Text("Test")),
          body: Container(
            child: Center(
              child: RaisedButton(
                color: Colors.redAccent,
                textColor: Colors.white,
                onPressed: (){testAlert(context);},
                child: Text("PressMe"),
              ),
            ),
          ),
        ),
      );
    }
    void testAlert(BuildContext context){
      var alert = AlertDialog(
        title: Text("Test"),
        content: Text("Done..!"),
      );
  
      showDialog(
          context: context,
          builder: (BuildContext context){
            return alert;
          }
      );
    }
  }
  </code></pre>
  
  <p>This is the code that i wrote. I also tried inserting the contents of testAlert() function directly into onPressed but doesn't work.</p>
  
  <p>Error</p>
  
  <pre><code>Performing hot reload...
  Syncing files to device ZUK Z2131...
  Reloaded 0 of 419 libraries in 1,929ms.
  I/flutter (18652): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
  I/flutter (18652): The following assertion was thrown while handling a gesture:
  I/flutter (18652): No MaterialLocalizations found.
  I/flutter (18652): MyApp widgets require MaterialLocalizations to be provided by a Localizations widget ancestor.
  I/flutter (18652): Localizations are used to generate many different messages, labels,and abbreviations which are used
  I/flutter (18652): by the material library. 
  I/flutter (18652): To introduce a MaterialLocalizations, either use a  MaterialApp at the root of your application to
  I/flutter (18652): include them automatically, or add a Localization widget with a MaterialLocalizations delegate.
  I/flutter (18652): The specific widget that could not find a MaterialLocalizations ancestor was:
  I/flutter (18652):   MyApp
  I/flutter (18652): The ancestors of this widget were:
  I/flutter (18652):   [root]
  I/flutter (18652): 
  I/flutter (18652): When the exception was thrown, this was the stack:
  I/flutter (18652): #0      debugCheckHasMaterialLocalizations.&lt;anonymous closure&gt; (package:flutter/src/material/debug.dart:124:7)
  I/flutter (18652): #1      debugCheckHasMaterialLocalizations (package:flutter/src/material/debug.dart:127:4)
  I/flutter (18652): #2      showDialog (package:flutter/src/material/dialog.dart:635:10)
  I/flutter (18652): #3      MyApp.testAlert (package:flutter_app/main.dart:33:5)
  I/flutter (18652): #4      MyApp.build.&lt;anonymous closure&gt; (package:flutter_app/main.dart:19:29)
  I/flutter (18652): #5      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
  I/flutter (18652): #6      _InkResponseState.build.&lt;anonymous closure&gt; (package:flutter/src/material/ink_well.dart:562:30)
  I/flutter (18652): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
  I/flutter (18652): #8      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
  I/flutter (18652): #9      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
  I/flutter (18652): #10     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
  I/flutter (18652): #11     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
  I/flutter (18652): #12     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
  I/flutter (18652): #13     _WidgetsFlutterBinding&amp;BindingBase&amp;GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:180:19)
  I/flutter (18652): #14     _WidgetsFlutterBinding&amp;BindingBase&amp;GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22)
  I/flutter (18652): #15     _WidgetsFlutterBinding&amp;BindingBase&amp;GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7)
  I/flutter (18652): #16     _WidgetsFlutterBinding&amp;BindingBase&amp;GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
  I/flutter (18652): #17     _WidgetsFlutterBinding&amp;BindingBase&amp;GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
  I/flutter (18652): #18     _invoke1 (dart:ui/hooks.dart:168:13)
  I/flutter (18652): #19     _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5)
  I/flutter (18652): 
  I/flutter (18652): Handler: onTap
  I/flutter (18652): Recognizer:
  I/flutter (18652):   TapGestureRecognizer#d5d82(debugOwner: GestureDetector, state: possible, won arena, finalPosition:
  I/flutter (18652):   Offset(220.2, 406.1), sent tap down)
  I/flutter (18652): ════════════════════════════════════════════════════════════════════════════════════════════════════
  W/ActivityThread(18652): handleWindowVisibility: no activity for token android.os.BinderProxy@59b4e8d
  I/ViewRootImpl(18652): CPU Rendering VSync enable = true
  </code></pre>