有以下代码:
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/