问题
I am using a long list in flutter. All the items are rendering fine but also following error :
RangeError (index): Invalid value: Not in range 0..2, inclusive: 3
Following is my code :
@override
Widget build(BuildContext context) {
return Container(
child: getList(),
);
}
Following is my getList() method :
Widget getList (){
List<String> list = getListItems();
ListView myList = new ListView.builder(itemBuilder: (context, index){
return new ListTile(
title: new Text(list[index]),
);
});
return myList;
}
And following is my getListItem() method:
List<String> getListItems(){
return ["Faizan", "Usman", "Naouman"];
}
Following is the screenshot of error :
回答1:
You should pass the itemCount parameter to the ListView.builder to allow it to know the item count
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;
}
回答2:
Widget getListView(){
var itemList = getListElement();
var list = ListView.builder(
itemCount: itemList.length,
itemBuilder:(context, index){
return ListTile(
title: Text(itemList[index]),
);
}
);
return list;
}
来源:https://stackoverflow.com/questions/53967624/flutter-error-rangeerror-index-invalid-value-not-in-range-0-2-inclusive