在ListView的顶部和底部添加空容器

时间:2020-06-24 09:43:56

标签: flutter dart

我需要在ListView的顶部和底部添加一个空容器,以便可以在顶部和底部自动添加分隔符。这是我的ListView构建器类

      ListView.separated(
        itemCount: items.length + 2,
        padding: EdgeInsets.only(top: 10),
        itemBuilder: (context, index) {
          print(index); //<= print 0 1 2
          if (index == 0 || index > items.length) { //<= here is problem
            return Container();
          } else {
            return itemBuilder(context, items[index]);
          }
        },
        separatorBuilder: (BuildContext context, int index) =>
            separator == null ? Container() : separator)

这应该可以工作,但是当我尝试将索引与0比较时会给我错误

RangeError(索引):无效值:仅有效值为0:1

2 个答案:

答案 0 :(得分:1)

为您的else块更新代码

df1.replace(0,np.nan,inplace=True)

答案 1 :(得分:0)

我尝试了您的代码,它工作正常。也许您应该检查items []是否为空

  @override
  Widget build(BuildContext context) {
    var items = [1];
    return ListView.separated(
      itemCount: items.length + 2,
      padding: EdgeInsets.only(top: 10),
      itemBuilder: (context, index) {
        print(index);
        if (index == 0 || index > items.length) {
          return Container(
            height: 50,
            color: Colors.pink,
          );
        } else {
          return Container(
            height: 50,
            color: Colors.blue,
          );
        }
      },
      separatorBuilder: (BuildContext context, int index) => Container(
        height: 50,
        color: Colors.green,
      ),
    );

enter image description here

相关问题