当我打开标签时,有一秒钟,有这个错误。然后它就消失了,我该如何解决这个问题? 我假设生成长度值需要时间?
class rideList extends StatefulWidget {
@override
_rideListState createState() => _rideListState();
}
class _rideListState extends State<rideList> {
@override
Widget build(BuildContext context) {
final rides = Provider.of<List<RideDetails>>(context);
int count = 0;
if (rides.length != null) {
return ListView.builder(
itemCount: rides.length,
itemBuilder: (context, index) {
print('Rides: ${rides.length}');
if (rides[index].limit == true) {
return RideTile(ride: rides[index]);
}
else if(rides[index].limit == false){
++count;
if(rides.length == count){
print('no rides');
return Center(child: Text('No rides posted yet. Be the first to post a ride!'));
}
else{
return SizedBox(height: 20.0,);
}
}
return SizedBox(height: 20.0,);
},
);
}
}
}
答案 0 :(得分:1)
如果 rides
总是一个可以为 null 的 List(),
你应该使用条件 => if (rides != null)
而不是 => if (rides.length != null)
。
错误正在发生,因为在调用属性 rides
之前,您必须先检查 length
是否为空。