Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振中的小部件库错误捕获异常_Flutter_Android Studio_Dart_Flutter Layout_Flutter Dependencies - Fatal编程技术网

Flutter 颤振中的小部件库错误捕获异常

Flutter 颤振中的小部件库错误捕获异常,flutter,android-studio,dart,flutter-layout,flutter-dependencies,Flutter,Android Studio,Dart,Flutter Layout,Flutter Dependencies,我有这个应用程序在颤振。它有两个类用来生成注释列表 这是主类MyApp类: import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:notesgenerator/sala.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This wid

我有这个应用程序在颤振。它有两个类用来生成注释列表

这是主类MyApp类:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:notesgenerator/sala.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override

  Widget build(BuildContext context) {

    List<Sala> locs = [
      Sala(note: 'Study', noteDes: 'from 6pm ~ 8pm'),
      Sala(note: 'Work', noteDes: 'from 8pm ~ 9pm'),
      Sala(note: 'Play', noteDes: 'from 9pm ~ 9:30pm'),
      Sala(note: 'Eat', noteDes: 'from 9:30pm ~ 10pm'),
    ];

    return Scaffold(
      appBar: AppBar(
        title: Text('NoteIndex'),
        centerTitle: true,
      ),
      body: ListView.builder(
          itemCount: 10,
          itemBuilder: (context, index) {
            return Card(
              child: ListTile(
                onTap: () {},
                title: (Text(locs[index].note)),
              ),
            );
          }),
    );}}
当我尝试运行它时,我得到以下结果:

I/flutter (21388): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (21388): The following assertion was thrown building MyApp:
I/flutter (21388): MediaQuery.of() called with a context that does not contain a MediaQuery.
I/flutter (21388): No MediaQuery ancestor could be found starting from the context that was passed to MediaQuery.of().
I/flutter (21388): This can happen because you do not have a WidgetsApp or MaterialApp widget (those widgets introduce
I/flutter (21388): a MediaQuery), or it can happen if the context you use comes from a widget above those widgets.
I/flutter (21388): The context used was:
I/flutter (21388):   Scaffold
I/flutter (21388): 
I/flutter (21388): The relevant error-causing widget was:
I/flutter (21388):   MyApp file:///F:/FlutterProjects/notesgenerator/lib/main.dart:6:23
I/flutter (21388): 
I/flutter (21388): When the exception was thrown, this was the stack:
I/flutter (21388): #0      MediaQuery.of (package:flutter/src/widgets/media_query.dart:798:5)
I/flutter (21388): #1      ScaffoldState.didChangeDependencies (package:flutter/src/material/scaffold.dart:1993:50)
I/flutter (21388): #2      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4376:12)
I/flutter (21388): #3      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21388): #4      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21388): #5      Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21388): #6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21388): #7      Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21388): #8      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21388): #9      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21388): #10     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21388): #11     Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21388): #12     RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1028:16)
I/flutter (21388): #13     RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:999:5)
I/flutter (21388): #14     RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:942:17)
I/flutter (21388): #15     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2412:19)
I/flutter (21388): #16     RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:941:13)
I/flutter (21388): #17     WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:819:7)
I/flutter (21388): #18     WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:804:7)
I/flutter (21388): #27     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:384:19)
I/flutter (21388): #28     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:418:5)
I/flutter (21388): #29     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
I/flutter (21388): (elided 8 frames from package dart:async and package dart:async-patch)
I/flutter (21388): 
I/flutter (21388): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/颤振(21388):══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════
I/flatter(21388):在构建MyApp时抛出以下断言:
I/flatter(21388):使用不包含MediaQuery的上下文调用MediaQuery.of()。
I/flatter(21388):从传递给MediaQuery.of()的上下文开始,找不到MediaQuery祖先。
I/flatter(21388):这可能是因为您没有WidgetsApp或MaterialApp小部件(这些小部件引入
I/flatter(21388):一个MediaQuery),或者如果您使用的上下文来自这些小部件之上的小部件,则可能会发生这种情况。
I/颤振(21388):使用的上下文是:
I/颤振(21388):脚手架
I/颤振(21388):
I/flatter(21388):导致错误的相关小部件是:
I/颤振(21388):MyAppfile:///F:/FlutterProjects/notesgenerator/lib/main.dart:6:23
I/颤振(21388):
I/flatter(21388):当抛出异常时,这是堆栈:
I/flatter(21388):#0 MediaQuery.of(包:flatter/src/widgets/media_query.dart:798:5)
I/颤振(21388):#1 ScaffoldState.didChangeDependencies(包装:颤振/src/material/scaffold.dart:1993:50)
I/flatter(21388):#2 StatefulElement._firstBuild(包:flatter/src/widgets/framework.dart:4376:12)
I/flatter(21388):#3 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4201:5)
I/flatter(21388):#4 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
I/flatter(21388):#5 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
I/flatter(21388):#6 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4243:16)
I/flatter(21388):#7 Element.rebuild(包:flatter/src/widgets/framework.dart:3947:5)
I/flatter(21388):#8个组件元素。firstBuild(包:flatter/src/widgets/framework.dart:4206:5)
I/flatter(21388):#9 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4201:5)
I/flatter(21388):#10 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3194:14)
I/flatter(21388):#11 Element.updateChild(包:flatter/src/widgets/framework.dart:2988:12)
I/flatter(21388):#12 RenderObjectToWidgetElement._重建(包:flatter/src/widgets/binding.dart:1028:16)
I/flatter(21388):#13 RenderObjectToWidgetElement.mount(包:flatter/src/widgets/binding.dart:999:5)
I/颤振(21388):#14 RenderObjectToWidgetAdapter.attachToRenderTree。(包:flatter/src/widgets/binding.dart:942:17)
I/flatter(21388):#15 BuildOwner.buildScope(包:flatter/src/widgets/framework.dart:2412:19)
I/flatter(21388):#16 RenderObjectToWidgetAdapter.attachToRenderTree(包:flatter/src/widgets/binding.dart:941:13)
I/flatter(21388):#17 WidgetsBinding.attachRootWidget(包:flatter/src/widgets/binding.dart:819:7)
I/flatter(21388):#18 WidgetsBinding.scheduleAttachRootWidget。(包:flatter/src/widgets/binding.dart:804:7)
I/flatter(21388):#27 _计时器。_运行计时器(dart:isolate patch/Timer_impl.dart:384:19)
I/flatter(21388):#28 _Timer._handleMessage(dart:隔离补丁/定时器_impact.dart:418:5)
I/flatter(21388):#29 RawReceivePortImpl.handleMessage(dart:isolate patch/isolate_patch.dart:174:12)
I/flatter(21388):(从包dart:async和包dart:async补丁中删除8帧)
I/颤振(21388):
I/颤振(21388):════════════════════════════════════════════════════════════════════════════════════════════════════

如果你能帮忙,我会非常感激的!如果您有任何问题,请在评论中告诉我

你需要用塑料包裹你的脚手架

MaterialApp()

因为这是引入MediaQuery的小部件

MyApp版本中的更改:

    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: Scaffold(
       ...
      ),
    );

用聚丙烯材料包裹你的脚手架

    return MaterialApp(
  title: 'Flutter Demo',
  theme: ThemeData(
    primarySwatch: Colors.blue,
    visualDensity: VisualDensity.adaptivePlatformDensity,
  ),
  home: Scaffold(),
);

你的代码格式不好,这是不可编辑的,因为正如stackoverflow指南提到的,你应该解释你的问题,给出你没有做的例子和上下文。请告诉我们细节。
    return MaterialApp(
  title: 'Flutter Demo',
  theme: ThemeData(
    primarySwatch: Colors.blue,
    visualDensity: VisualDensity.adaptivePlatformDensity,
  ),
  home: Scaffold(),
);