您好我在运行应用程序时遇到以下错误问题的可能原因是什么?
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ The following assertion was thrown building Home(dirty, state: _HomeState#f7a67): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 1639: '!children.any((Widget child) => child == null)': is not true.
答案 0 :(得分:9)
几天前面临同样的问题。
当您忘记或错过返回小工具时,就会发生这种情况。
如果没有看到您的代码,就很难知道确切的失败点。
就我而言,我之前的代码如下:
@override
Widget build(BuildContext context) {
//....
new Column(
//.....
);
}
修好之后::
@override
Widget build(BuildContext context) {
//....
return new Column(
//.....
);
}
希望这有帮助!
答案 1 :(得分:1)
如果小部件列表中没有null,也可能会出现此问题:
Widget build() {
return new Column(
children: [
new Title(),
new Body(),
shouldShowFooter ? null : new Container()
]
);
}
要解决此问题:
bool notNull(Object o) => o != null;
Widget build() {
return new Column(
children: <Widget>[
new Title(),
new Body(),
shouldShowFooter ? new Footer() : new Container()
].where(notNull).toList(),
);
}
答案 2 :(得分:0)
对于我来说,buildChildrenren的结果为null,或者返回列表中的一个元素为null。
Column column = new Column(
// center the children
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: buildChildren(context),
);