我需要在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
答案 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,
),
);