Flutter错误:使用不包含MediaQuery的上下文调用了MediaQuery.of()

问题描述 投票:0回答:1

我刚刚开始通过Flutter学习应用开发。我遇到了一个教程来构建简单的应用程序。

我的任务是添加应用栏,我这样做:

import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      appBar: AppBar(
        title: Text('Hello '),
      ),
    ),
  ));
}

我期待一个简单的标题为“ Hello”的应用程序栏。

我在控制台中收到此错误:

-I/flutter (17741): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (17741): The following assertion was thrown building MyApp:
I/flutter (17741): MediaQuery.of() called with a context that does not contain a MediaQuery.
I/flutter (17741): No MediaQuery ancestor could be found starting from the context that was passed to MediaQuery.of().
I/flutter (17741): This can happen because you do not have a WidgetsApp or MaterialApp widget (those widgets introduce
I/flutter (17741): a MediaQuery), or it can happen if the context you use comes from a widget above those widgets.
I/flutter (17741): The context used was:
I/flutter (17741):   Scaffold
I/flutter (17741):
I/flutter (17741): The relevant error-causing widget was:
I/flutter (17741):   MyApp file:///E:/Flutter/i_am_rich/lib/main.dart:3:23
I/flutter (17741): 
I/flutter (17741): When the exception was thrown, this was the stack:
I/flutter (17741): #0      MediaQuery.of (package:flutter/src/widgets/media_query.dart:798:5)
I/flutter (17741): #1      ScaffoldState.didChangeDependencies (package:flutter/src/material/scaffold.dart:1993:50)
I/flutter (17741): #2      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4376:12)
I/flutter (17741): #3      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (17741): #4      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (17741): #5      Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (17741): #6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)

Reloaded 1 of 478 libraries in 437ms.
I/flutter (17741): #7      Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (17741): #8      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2432:33)
I/flutter (17741): #9      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:773:20)
I/flutter (17741): #10     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:283:5)
I/flutter (17741): #11     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102:15)
I/flutter (17741): #12     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1041:9)
I/flutter (17741): #13     SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:850:7)
I/flutter (17741): #15     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:384:19)
I/flutter (17741): #16     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:418:5)
I/flutter (17741): #17     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
I/flutter (17741): (elided one frame from package dart:async-patch)
I/flutter (17741):
I/flutter (17741): 

════════════════════════════════════════════════════════════════════════════════════════════════════

如果您能向我提供一些有关此的见解,那就太好了。

flutter dart flutter-layout
1个回答
0
投票

根据运行@VirenVVarasadiya的建议解决了该问题:

flutter clean
flutter run
© www.soinside.com 2019 - 2024. All rights reserved.