gpt4 book ai didi

flutter - RangeError(索引):无效值:有效值范围为空:0,Flutter

转载 作者:行者123 更新时间:2023-12-03 04:20:33 28 4
gpt4 key购买 nike

我正在尝试在Flutter中创建杂货 list 创建者。我创建了一个GroceryList类,该类将标题,提醒日,配料列表以及配料数量列表作为参数。我目前正在编码“完成”按钮,该按钮将获取所有列表信息并将其放入杂货列表类中。以下是相关代码:

  final curTitle = new TextEditingController();
int countings = 0;
List<String> finalIngs = [];
List<String> numfinalIngs = [];
String _reminderDay = "Sunday";
Widget build(BuildContext context) {
debugPrint(curTitle.text);
return Scaffold(
appBar: AppBar(
title: Text("New Grocery List"),
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios, color: Colors.white),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ListsPage()),
);
},
),
actions: <Widget>[
IconButton(
icon: new Icon(Icons.check, color: Colors.white),
onPressed: () {
if (finalIngs[0].isNotEmpty &&
numfinalIngs[0].isNotEmpty &&
curTitle.text.isNotEmpty) {
for (int i = 0; i < _newListIngs.length; i++) {
finalIngs.add(_newListIngs[i].text);
debugPrint(finalIngs[i]);
numfinalIngs.add(_newlistnumIngs[i].text);
debugPrint(numfinalIngs[i]);
}
GroceryList cur;
cur.title = curTitle.text;
cur._reminderDay = _reminderDay;
for (int i = 0; i < finalIngs.length; i++) {
cur.ingredients.add(finalIngs[i]);
cur.numIngs.add(numfinalIngs[i]);
}
} else {
showIngAlert(BuildContext context) {
Widget okButton = FlatButton(
child: Text("OK"),
onPressed: () {},
);

// set up the AlertDialog
AlertDialog alert = AlertDialog(
content: Text(
"Please fill all blank spaces, and add as needed."),
actions: [
okButton,
],
);

// show the dialog
showDialog(
context: context,
builder: (BuildContext context) {
return alert;
},
);
}

showIngAlert(context);
}
_newListIngs.clear();
_newlistnumIngs.clear();
},
)
],
),
}
类里面还有很多,但为了整洁,我放弃了。我收到上面显示的错误,我知道它的含义以及为什么在那里,但是我不知道应该如何解决。我的意思是,我不知道该如何解决永久解决方案,而不是摆脱此错误。如果您需要更多信息,请告诉我。

最佳答案

您有很多列表,所以我不确定哪个列表有问题,但是您是否尝试过检查它们是否为空,然后再尝试获取其中的内容?

if(finalIngs.isNotEmpty && numfinalIngs.isNotEmpty && 
(finalIngs[0]?.isNotEmpty ?? false) && //What if the Strings are null?
(numfinalIngs[0]?.isNotEmpty ?? false) && //What if the Strings are null?
curTitle.text.isNotEmpty)
....
显然,如果列表为空,则其他条件必须为false,但它们不会运行,因为不需要它(使用double&时 if在找到第一个false时停止运行),因此不会显示错误

关于flutter - RangeError(索引):无效值:有效值范围为空:0,Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62864346/

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