web-dev-qa-db-ja.com

フラッターエラー:RangeError(インデックス):無効な値:範囲0..2以外:3

ひらひらと長いリストを使用しています。すべてのアイテムは正常にレンダリングされていますが、次のエラーも発生しています:

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

以下は私のコードです:

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

以下は私の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;
}

そして、以下は私のgetListItem()メソッドです:

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

エラーのスクリーンショットは次のとおりです。

enter image description here

10
Muhammad Faizan

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