flutter - 简单 Flutter 的 hello world 代码中的 LateInitializationError

标签 flutter dart

有以下代码:

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}
class MyApp extends StatelessWidget {
  const MyApp();
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
          Text("Hello world")
        ]
    );
  }
}

每当尝试运行此代码时,都会出现错误:

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
LateInitializationError: _renderObject@20042623
...
E/flutter (14923): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 2734 pos 20: '_debugCurrentBuildTarget == context': is not true.
E/flutter (14923): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
E/flutter (14923): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
E/flutter (14923): #2      BuildOwner.buildScope.<anonymous closure> (package:flutter/src/widgets/framework.dart:2734:20)
E/flutter (14923): #3      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2738:12)
E/flutter (14923): #4      RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1127:13)
E/flutter (14923): #5      WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:967:7)
E/flutter (14923): #6      WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:948:7)
E/flutter (14923): #7      _rootRun (dart:async/zone.dart:1182:47)
E/flutter (14923): #8      _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter (14923): #9      _CustomZone.runGuarded (dart:async/zone.dart:997:7)
E/flutter (14923): #10     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
E/flutter (14923): #11     _rootRun (dart:async/zone.dart:1190:13)
E/flutter (14923): #12     _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter (14923): #13     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1021:23)
E/flutter (14923): #14     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
E/flutter (14923): #15     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19)
E/flutter (14923): #16     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5)
E/flutter (14923): #17     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
E/flutter (14923):

Text 对象从 Column 的子对象中删除时,就没有问题了。还有一个选项可以用 MaterialApp 包装小部件,但我想知道为什么没有它它就不起作用?

这是 Dart 2.11。

最佳答案

不确定为什么这是您收到的错误,但文本小部件缺少一个 Directionality 祖先小部件,该祖先小部件指定文本是从左到右还是从右到左(MaterialApp 也提供了此功能)

因此将列包裹在方向性

并在 flutter git repo 上提交问题(如果尚不存在)以获得此类非描述性错误消息

关于flutter - 简单 Flutter 的 hello world 代码中的 LateInitializationError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64523528/

相关文章:

flutter - 在 Pubspec.yaml 文件中出现错误并在整个文件中显示警告

flutter - 如何使滚动条始终可见?

flutter - 更喜欢使用 if null 运算符

dart - 我可以为 Flutter 单元测试或集成测试制作自定义匹配器吗?

image - 视差效果 | flutter 中的可滚动背景图像

flutter - Flutter中如何设置PageView的初始页面?

android - Flutter无法合并dex

azure - flutter 应用程序 : How to implement a proper logout function?

flutter - 翻译小部件不流畅

dart - forEach没有预期的过滤