Muh*_*zan 14 dart android-studio flutter
我在颤抖中使用了一长串。所有项目都可以正常渲染,但还会出现以下错误:
RangeError (index): Invalid value: Not in range 0..2, inclusive: 3
Run Code Online (Sandbox Code Playgroud)
以下是我的代码:
@override
Widget build(BuildContext context) {
return Container(
child: getList(),
);
}
Run Code Online (Sandbox Code Playgroud)
以下是我的getList()方法:
Widget getList (){
List<String> list = getListItems();
ListView myList = new ListView.builder(itemBuilder: (context, index){
return new ListTile(
title: new Text(list[index]),
);
});
return myList;
}
Run Code Online (Sandbox Code Playgroud)
以下是我的getListItem()方法:
List<String> getListItems(){
return ["Faizan", "Usman", "Naouman"];
}
Run Code Online (Sandbox Code Playgroud)
以下是错误的屏幕截图:
mut*_*amb 26
您应该将itemCount参数传递给,ListView.builder以使其知道项目数
Widget getList() {
List<String> list = getListItems();
ListView myList = new ListView.builder(
itemCount: list.length,
itemBuilder: (context, index) {
return new ListTile(
title: new Text(list[index]),
);
});
return myList;
}
Run Code Online (Sandbox Code Playgroud)
小智 18
当迭代数组时用完值时,就会出现此错误。如果ListView组件缺少 itemCount 属性,组件会尝试继续迭代,但不知道何时完成,因此最终会超出范围(数组的长度)。
在运行设置不当的for loop. 例如:
var arr = [1, 2, 3];
for (var i=0; i < 4; i++) {
print(arr[i]);
}
Run Code Online (Sandbox Code Playgroud)
此飞镖代码也会导致范围错误。该数组有 3 个项目,但我们尝试迭代 4 次。
| 归档时间: |
|
| 查看次数: |
9713 次 |
| 最近记录: |