gpt4 book ai didi

flutter - 在 null 上调用了方法 '>'

转载 作者:行者123 更新时间:2023-12-05 09:12:19 25 4
gpt4 key购买 nike

为什么我有这个错误,而所有变量都已初始化。

════════ Exception caught by rendering library ═════════════════════════════════ RenderBox was not laid out: _RenderLayoutBuilder#657cb relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE 'package:flutter/src/rendering/box.dart': Failed assertion: line 1681 pos 12: 'hasSize' User-created ancestor of the error-causing widget was Scaffold ════════ Exception caught by rendering library ═════════════════════════════════ The method '>' was called on null. Receiver: null Tried calling: >(1e-10) User-created ancestor of the error-causing widget was OrientationBuilder lib\no_events.dart:31 ═══════════════════════

class _NoEvents extends State<NoEvents> {
List<Contributor> contributors = [];
List<Event> events = [];
Contributor contributor = new Contributor(1, "XXX");

@override
Widget build(BuildContext context) {
contributors.add(contributor);
Event event1 = new Event(1, contributors, DateTime(2019 - 10 - 25), "XXX", "Test1");
Event event2 = new Event(1, contributors, DateTime.now(), "XXX", "Test2");
Event event3 = new Event(1, contributors, DateTime.now(), "XXX", "Test3");
events.add(event1);
events.add(event2);
events.add(event3);

return Scaffold(
appBar: AppBar(
title: new Text('Lille Events'),
),
body: new OrientationBuilder(
builder: (context, orientation) {
return new Column(
children: <Widget>[
new GridView.count(
crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
children: <Widget>[
for (var e in events)
new Center(
child: new Text(e.subject),
),
],
),
],
);
},
),
);
}
}

最佳答案

Column 内的

GridView 会导致此错误。尝试将其包装在 Expanded

class _NoEvents extends State<NoEvents> {
List<Contributor> contributors = [];
List<Event> events = [];
Contributor contributor = new Contributor(1, "XXX");

@override
Widget build(BuildContext context) {
contributors.add(contributor);
Event event1 =
new Event(1, contributors, DateTime(2019 - 10 - 25), "XXX", "Test1");
Event event2 = new Event(1, contributors, DateTime.now(), "XXX", "Test2");
Event event3 = new Event(1, contributors, DateTime.now(), "XXX", "Test3");
events.add(event1);
events.add(event2);
events.add(event3);

return Scaffold(
appBar: AppBar(
title: Text('Lille Events'),
),
body: OrientationBuilder(
builder: (context, orientation) {
return Column(
children: <Widget>[
Expanded(
child: GridView.count(
crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
children: <Widget>[
for (var e in events)
Center(
child: Text(e.subject),
),
],
),
)
],
);
},
),
);
}
}

关于flutter - 在 null 上调用了方法 '>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58559145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com