我在Flutter 中使用了一个很长的列表.所有项目都呈现良好,但我也收到以下错误:

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

推荐答案

您应该将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;
}

Flutter相关问答推荐

为什么在Flutter中使用firebase数据库时获取引用时会划掉引用?

在Flutter中,CachedNetworks Image不工作(不从CachedData加载)

当MyChangeNotifier更改时如何计算函数,而无需在构建方法中进行不必要的调用- Flutter

如何使用Firebase Firestore来获取外部集合中的文档子集合中的文档

在Android Studio的新用户界面中未找到热重新加载

Riverpod状态管理-在调用请求时更新用户界面

不要跨同步间隔使用BuildContext

如何将带有参数的函数传递给FIFTH中的自定义小部件

抖动问题:检测到0个或2个或更多具有相同值的[DropdownMenuItem]

如何在Flutter中制作弯曲文本

打开键盘时屏幕组件会被压扁

Flutter - Riverpod 2.0 - 如何访问 onDispose 回调?

更新番茄计时器值不会触发 Flutter Riverpod 中的alert 声音

以编程方式在 flutter 中安装 apk 时解析错误

Flutter:如何在现有布局之上显示圆角布局?

Flutter开发中,如何通过'nfc_manager'插件在Android设备上避免默认的New Tag Scanned弹出窗口?

Container 的 Flutter 背景图片不会出现

这是使用导航功能处理从一页到另一页的移动的最佳方式

我无法从 Cloud firestore 访问文档字段并在 statefulwidget 类中显示它

在列表视图Flutter 中 Select 下一个单选按钮时单选按钮更改