web-dev-qa-db-fra.com

Erreur de flottement: RangeError (index): Valeur non valide: Pas dans la plage 0..2, inclus: 3

J'utilise une longue liste en flutter. Tous les éléments affichent un rendu correct, mais provoquent également une erreur:

RangeError (index): Invalid value: Not in range 0..2, inclusive: 3

Voici mon code:

@override
Widget build(BuildContext context) {
return Container(
  child: getList(),
 );
}

Voici ma méthode 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;
}

Et voici ma méthode getListItem ():

List<String> getListItems(){
return ["Faizan", "Usman", "Naouman"];
}

Voici la capture d'écran de l'erreur:

enter image description here

10
Muhammad Faizan

Vous devriez passer le paramètre itemCount au ListView.builder pour lui permettre de connaître le nombre d'articles

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;
}
19
muttonlamb