Следующее NoSuchMethodError было сгенерировано при создании MediaQuery (MediaQueryData (размер: размер (360.0, 640.0), devicePixelRatio: 3.0, textScaleFactor: 1.0, platformBrightness: Brightness.light, отступы: EdgeInsets.zero, viewPadding: EdgeIndge, viewInsets: EdgeInsets.zero, PhysicalDepth: 1.7976931348623157e + 308, alwaysUse24HourFormat: false, availableNavigation: false, disableAnimations: false, invertColors: false, boldText: false)): «Ключ» получателя был вызван для нуля. Получатель: null Пробный вызов: ключ
Созданный пользователем предок вызывающего ошибки виджета был: Файл скаффолда: /// home / midhilajm / Загрузки / al-qasier-flutter-solution_issue_20 / lib / orderDetails / OrderDetails.dart: 27: 16 Когда возникло исключение, это был стек:
0 Object.noSuchMethod (dart: core-patch / object_patch.dart: 51: 5)
1 newKeyedSubtree.wrap (пакет: flutter / src / widgets / basic.dart: 6605: 27)
2 KeyedSubtree.ensureUniqueKeysForList (пакет: flutter / src / widgets / basic.dart: 6623: 44)
3 _TabBarViewState._updateChildren (пакет: флаттер / src / material / tabs.dart: 1237: 37)
4 _TabBarViewState.initState (пакет: флаттер / src / material / tabs.dart: 1206: 5))═══════════════════════════════════════════════════════════
импорт 'пакет: alqaiser / корзина / MyCart.dart';импорт "пакет: alqaiser / orderHistory / OrderHistoryModule.dart";импорт 'package: alqaiser / orderHistory / OrderItem.dart';импортировать «пакет: alqaiser / панель инструментов / MyToolBar.dart»;импорт "пакет: alqaiser / utlity / Milla.dart";импорт "пакет: флаттер / материал.дарт";
class OrderDetails extends StatefulWidget {
OrderItem order;
OrderDetails({this.order}) {}
@override
_OrderDetailsState createState() => _OrderDetailsState(order: order);
}
class _OrderDetailsState extends State<OrderDetails> {
OrderItem order;
_OrderDetailsState({this.order}) {
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: MyToolBar().getAppBar(context),
body: DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
title: TabBar(
tabs: [
Tab(
text: "Work followup",
),
Tab(
text: "Payment ",
),
],
),
),
body: TabBarView(children: [getWorkStatus(), getPaymentStatus()]),
),
),
);
}
Widget getPaymentStatus() {
if (this.order.paymentS != null)
return ListView.builder(
itemCount: this.order.paymentS.length,
itemBuilder: (BuildContext context, int index) {
return Bubble(message: this.order.paymentS[index]);
});
}
Widget getWorkStatus() {
if (this.order.statues != null)
return ListView.builder(
itemCount: this.order.statues.length,
itemBuilder: (BuildContext context, int index) {
return Bubble(message: this.order.statues[index]);
});
}
}
class Bubble extends StatelessWidget {
Color bg =Colors.blueGrey ;
String message1="",message2="";
Bubble(
{this.message,
this.time = "12",
this.delivered = false,
this.isMe = false});
final String message, time;
final delivered, isMe;
List<String> messageSplit = [];
@override
Widget build(BuildContext context) {
messageSplit = message.split(":");
if(messageSplit.length>=1?messageSplit[0]!=null?true:false:false)
message1=messageSplit[0];
if(messageSplit.length>=3?
messageSplit[2]!=null?true:false:false)
message2=messageSplit[2];
if(messageSplit.length>=2?
messageSplit[1]!=null?true:false:false)
bg=isMe ? Colors.white :HexColor(messageSplit[1]);
final align = isMe ? CrossAxisAlignment.start : CrossAxisAlignment.end;
final icon = delivered ? Icons.done_all : Icons.done;
final radius = isMe
? BorderRadius.only(
topRight: Radius.circular(5.0),
bottomLeft: Radius.circular(10.0),
bottomRight: Radius.circular(5.0),
)
: BorderRadius.only(
topLeft: Radius.circular(5.0),
bottomLeft: Radius.circular(5.0),
bottomRight: Radius.circular(10.0),
);
return Column(
crossAxisAlignment: align,
children: <Widget>[
Container(
margin: const EdgeInsets.all(3.0),
padding: const EdgeInsets.all(8.0),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
blurRadius: .5,
spreadRadius: 1.0,
color: Colors.black.withOpacity(.12))
],
color: bg,
borderRadius: radius,
),
child:Column(
children: <Widget>[
Container(
child: Text(message1,textAlign: TextAlign.right,style: TextStyle(color: Colors.white),),
)
,
Text(message2,textAlign: TextAlign.right,
style: TextStyle(
color: Colors.white70,
fontSize: 10.0,
)),
],
),
)
],
);
}
}