作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在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/
我可以为属性 contenteditable 选择什么值。 最佳答案 它可以包含: true 错误 继承 引用: The contentEditable DOM attribute, on getti
我在签署 Ionic android apk 时遇到此错误,我在 Kubuntu 17.04 上,使用 Ionic 3,安装了 java 8 我得到的错误: Enter Passphrase for
我是一名优秀的程序员,十分优秀!