我收到此错误 The getter 'length' was called on null Receiver: null : Tried calling: length I/flutter
I get this error The getter 'length' was called on null Receiver: null : Tried calling: length I/flutter
import '../models/activity_model.dart';
import 'package:flutter/foundation.dart';
class Trip {
String id;
String city;
String name;
List<Activity> ;
DateTime date;
Trip({
@required this.name,
@required this.city,
@required this.activities,
@required this.date,
}) : id = UniqueKey().toString();
}
trip_activityList.dart
import 'package:flutter/material.dart';
import '../../../models/activity_model.dart';
class TripActivityList extends StatelessWidget {
final List<Activity> activities;
TripActivityList({this.activities});
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: activities.length,
itemBuilder: (context, index) {
return Text(activities[index].name);
});
}
}
trip_activities.dart
import 'package:flutter/material.dart';
import 'package:uvs_voyage/views/trip/widgets/trip_activity_list.dart';
import '../../../models/activity_model.dart';
class TripActivities extends StatelessWidget {
final List<Activity> activities;
TripActivities({this.activities});
@override
Widget build(BuildContext context) {
return Container(
child: DefaultTabController(
length: 2,
child: Column(
children: <Widget>[
Container(
color: Colors.blue,
child: TabBar(
indicatorColor: Colors.blue[100],
tabs: <Widget>[
Tab(
text: 'En cours',
),
Tab(
text: 'Terminé',
),
],
),
),
Container(
height: 600,
child: TabBarView(
physics: NeverScrollableScrollPhysics(),
children: <Widget>[
TripActivityList(
activities: activities,
),
TripActivityList(
activities: activities,
),
],
),
),
],
),
),
);
}
}
这花费了意外的长时间。)/I/flutter (15602): ══╡ 小部件库异常 ╞══════════════════ ═════════════════════════════════════════
I/flutter (15602):构建 TripActivityList(脏)时抛出了以下 NoSuchMethodError:
I/flutter (15602): setter 'length=' 被调用为 null。
I/flutter (15602):接收者:空
I/flutter (15602):尝试调用:长度=0
I/flutter (15602):
I/flutter (15602):导致错误的相关小部件是:
I/flutter (15602): 旅行活动列表
I/flutter (15602): file:///C:/Users/Mamadou%20Lamine%20Bouss/uvs_voyage/lib/views/trip/widgets/trip_activities.dart:35:19
I/flutter (15602):
I/flutter (15602): 当抛出异常时,这是堆栈:
I/flutter (15602): #0 Object.noSuchMethod (飞镖:core-patch/object_patch.飞镖:51:5)
I/flutter (15602): #1 TripActivityList.build (包:uvs_voyage/views/trip/widgets/trip_activity_list.dart:11:31)
I/flutter (15602): #2 StatelessElement.build (包:flutter/src/widgets/framework.dart:4620:28)
I/flutter (15602): #3 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4546:15)
I/flutter (15602): #4 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5)
I/flutter (15602): #5 StatelessElement.update (包:flutter/src/widgets/framework.dart:4627:5)
I/flutter (15602): #6 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15)
I/flutter (15602): #7 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16)
I/flutter (15602): #8 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5)
I/flutter (15602): #9 StatelessElement.update (包:flutter/src/widgets/framework.dart:4627:5)
I/flutter (15602): #10 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15)
I/flutter (15602): #11 SingleChildRenderObjectElement.update (包:flutter/src/widgets/framework.dart:5881:14)
I/flutter (15602): #12 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15)
I/flutter (15602): #13 SingleChildRenderObjectElement.update (包:flutter/src/widgets/framework.dart:5881:14)
I/flutter (15602): #14 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15)
I/flutter (15602): #15 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16)
I/flutter (15602): #16 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5)
I/flutter (15602): #17 StatelessElement.update (包:flutter/src/widgets/framework.dart:4627:5)
I/flutter (15602): #18 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15)
I/flutter (15602): #19 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16)
I/flutter (15602): #20 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5)
I/flutter (15602): #21 ProxyElement.update (包:flutter/src/widgets/framework.dart:4906:5)
I/flutter (15602): #22 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15)
I/flutter (15602): #23 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16)
实例化 Widget 时,列表 activities
可能为空。
你需要防范 data == null
的情况
itemCount: activities!= null ? activities.length : 0,
import '../models/activity_model.dart';
import 'package:flutter/foundation.dart';
class Trip {
String id;
String city;
String name;
List<Activity> ;
DateTime date;
Trip({
@required this.name,
@required this.city,
@required this.activities,
@required this.date,
}) : id = UniqueKey().toString();
}
trip_activityList.dart
import 'package:flutter/material.dart';
import '../../../models/activity_model.dart';
class TripActivityList extends StatelessWidget {
final List<Activity> activities;
TripActivityList({this.activities});
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: activities.length,
itemBuilder: (context, index) {
return Text(activities[index].name);
});
}
}
trip_activities.dart
import 'package:flutter/material.dart';
import 'package:uvs_voyage/views/trip/widgets/trip_activity_list.dart';
import '../../../models/activity_model.dart';
class TripActivities extends StatelessWidget {
final List<Activity> activities;
TripActivities({this.activities});
@override
Widget build(BuildContext context) {
return Container(
child: DefaultTabController(
length: 2,
child: Column(
children: <Widget>[
Container(
color: Colors.blue,
child: TabBar(
indicatorColor: Colors.blue[100],
tabs: <Widget>[
Tab(
text: 'En cours',
),
Tab(
text: 'Terminé',
),
],
),
),
Container(
height: 600,
child: TabBarView(
physics: NeverScrollableScrollPhysics(),
children: <Widget>[
TripActivityList(
activities: activities,
),
TripActivityList(
activities: activities,
),
],
),
),
],
),
),
);
}
}
这花费了意外的长时间。)/I/flutter (15602): ══╡ 小部件库异常 ╞══════════════════ ═════════════════════════════════════════ I/flutter (15602):构建 TripActivityList(脏)时抛出了以下 NoSuchMethodError: I/flutter (15602): setter 'length=' 被调用为 null。 I/flutter (15602):接收者:空 I/flutter (15602):尝试调用:长度=0 I/flutter (15602): I/flutter (15602):导致错误的相关小部件是: I/flutter (15602): 旅行活动列表 I/flutter (15602): file:///C:/Users/Mamadou%20Lamine%20Bouss/uvs_voyage/lib/views/trip/widgets/trip_activities.dart:35:19 I/flutter (15602): I/flutter (15602): 当抛出异常时,这是堆栈: I/flutter (15602): #0 Object.noSuchMethod (飞镖:core-patch/object_patch.飞镖:51:5) I/flutter (15602): #1 TripActivityList.build (包:uvs_voyage/views/trip/widgets/trip_activity_list.dart:11:31) I/flutter (15602): #2 StatelessElement.build (包:flutter/src/widgets/framework.dart:4620:28) I/flutter (15602): #3 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4546:15) I/flutter (15602): #4 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5) I/flutter (15602): #5 StatelessElement.update (包:flutter/src/widgets/framework.dart:4627:5) I/flutter (15602): #6 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15) I/flutter (15602): #7 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16) I/flutter (15602): #8 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5) I/flutter (15602): #9 StatelessElement.update (包:flutter/src/widgets/framework.dart:4627:5) I/flutter (15602): #10 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15) I/flutter (15602): #11 SingleChildRenderObjectElement.update (包:flutter/src/widgets/framework.dart:5881:14) I/flutter (15602): #12 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15) I/flutter (15602): #13 SingleChildRenderObjectElement.update (包:flutter/src/widgets/framework.dart:5881:14) I/flutter (15602): #14 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15) I/flutter (15602): #15 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16) I/flutter (15602): #16 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5) I/flutter (15602): #17 StatelessElement.update (包:flutter/src/widgets/framework.dart:4627:5) I/flutter (15602): #18 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15) I/flutter (15602): #19 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16) I/flutter (15602): #20 Element.rebuild (包:flutter/src/widgets/framework.dart:4262:5) I/flutter (15602): #21 ProxyElement.update (包:flutter/src/widgets/framework.dart:4906:5) I/flutter (15602): #22 Element.updateChild (包:flutter/src/widgets/framework.dart:3245:15) I/flutter (15602): #23 ComponentElement.performRebuild (包:flutter/src/widgets/framework.dart:4571:16)
实例化 Widget 时,列表 activities
可能为空。
你需要防范 data == null
itemCount: activities!= null ? activities.length : 0,