Flutter RangeError(索引):无效值:不在范围0..99内,包括:100

Flutter RangeError(索引):无效值:不在范围0..99内,包括:100,flutter,Flutter,我是新来的。所以这也许是我问的一个愚蠢的问题 我正在创建一个使用随机列表平铺的列表视图示例,但当我在值项99之后滚动时,我发现下面有一个错误 这是我的代码示例 import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; List<String> getListElement() { var items = List<String>.generate(100, (c

我是新来的。所以这也许是我问的一个愚蠢的问题

我正在创建一个使用随机列表平铺的列表视图示例,但当我在值项99之后滚动时,我发现下面有一个错误

这是我的代码示例

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

List<String> getListElement() {
  var items = List<String>.generate(100, (counter) => "Item $counter");
  return items;
}

Widget getListView(context) {
  var listItems = getListElement();


  var listView = ListView.builder(itemBuilder: (context, index) {
    return ListTile(
      title: Text(listItems[index]),
    );
  });

  return listView;
}

class RandomListViewExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text('Listing View Demo'),
        backgroundColor: Colors.green,
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: null,
        child: Icon(Icons.arrow_back),
        backgroundColor: Colors.green,
      ),
      body: getListView(context),
    );
  }
}
import'包装:flift/cupertino.dart';
进口“包装:颤振/材料.省道”;
列表getListElement(){
var items=List.generate(100,(计数器)=>“Item$counter”);
退货项目;
}
小部件getListView(上下文){
var listItems=getListElement();
var listView=listView.builder(itemBuilder:(上下文,索引){
返回列表块(
标题:文本(列表项[索引]),
);
});
返回列表视图;
}
类RandomListViewExample扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
//TODO:实现构建
返回脚手架(
appBar:appBar(
标题:文本(“列表视图演示”),
背景颜色:Colors.green,
),
浮动操作按钮:浮动操作按钮(
onPressed:null,
子:图标(图标。箭头返回),
背景颜色:Colors.green,
),
正文:getListView(上下文),
);
}
}

ListView生成器具有itemCount参数,可根据某个长度生成项目。您有100个项目,因此需要将itemCount指定为100。我已添加了itemCount:listItems.length以根据listItems列表的长度生成列表(即100)

import'包装:flift/cupertino.dart';
进口“包装:颤振/材料.省道”;
列表getListElement(){
var items=List.generate(100,(计数器)=>“Item$counter”);
退货项目;
}
小部件getListView(上下文){
var listItems=getListElement();
var listView=listView.builder(itemBuilder:(上下文,索引){
返回列表块(
标题:文本(列表项[索引]),
);
},itemCount:listItems.length,);
返回列表视图;
}
类RandomListViewExample扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
//TODO:实现构建
返回脚手架(
appBar:appBar(
标题:文本(“列表视图演示”),
背景颜色:Colors.green,
),
浮动操作按钮:浮动操作按钮(
onPressed:null,
子:图标(图标。箭头返回),
背景颜色:Colors.green,
),
正文:getListView(上下文),
);
}
}

ListView生成器具有itemCount参数,可根据某个长度生成项目。您有100个项目,因此需要将itemCount指定为100。我已添加了itemCount:listItems.length以根据listItems列表的长度生成列表(即100)

import'包装:flift/cupertino.dart';
进口“包装:颤振/材料.省道”;
列表getListElement(){
var items=List.generate(100,(计数器)=>“Item$counter”);
退货项目;
}
小部件getListView(上下文){
var listItems=getListElement();
var listView=listView.builder(itemBuilder:(上下文,索引){
返回列表块(
标题:文本(列表项[索引]),
);
},itemCount:listItems.length,);
返回列表视图;
}
类RandomListViewExample扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
//TODO:实现构建
返回脚手架(
appBar:appBar(
标题:文本(“列表视图演示”),
背景颜色:Colors.green,
),
浮动操作按钮:浮动操作按钮(
onPressed:null,
子:图标(图标。箭头返回),
背景颜色:Colors.green,
),
正文:getListView(上下文),
);
}
}
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

List<String> getListElement() {
  var items = List<String>.generate(100, (counter) => "Item $counter");
  return items;
}

Widget getListView(context) {
  var listItems = getListElement();


  var listView = ListView.builder(itemBuilder: (context, index) {
    return ListTile(
      title: Text(listItems[index]),
    );
  },itemCount: listItems.length,);

  return listView;
}

class RandomListViewExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text('Listing View Demo'),
        backgroundColor: Colors.green,
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: null,
        child: Icon(Icons.arrow_back),
        backgroundColor: Colors.green,
      ),
      body: getListView(context),
    );
  }
}