问题描述
成功地在每 10 个元素处插入了一个自定义容器
if (index % 10 != 0 || index == 0) {
return Container(
child: Text[index]}
else {
return Container(
child: "Custom Image")}
发生的事情是索引号没有改变,第 10 个文本元素被我的“自定义图像”覆盖。
关于如何通过将索引扩展 1 并使我的自定义图像成为显示的第 11 个元素来完成此操作的任何想法。我在我的代码中使用 Future ListView.Builder 和 StreamBuilder 执行了两次此操作。
解决方法
如果您想在每 10 个索引处显示带有 Text
小部件的容器,否则显示带有 CustomImage
的容器,那么您的条件是错误的。应该是 (index+1) % 10
是否使用 https://dartpad.dev/flutter 尝试过此代码?
ListView.builder(
itemCount: 20,itemBuilder: (context,index){
if ((index+1) % 10 == 0 || index == 0) {
return Container(child: Text('$index 10'));
}
else{
return Container(child: Text('$index Image'));
}
}
)
输出
,就这么简单:
ListView.builder(
itemCount: 35,itemBuilder: (_,i) => Container(child: Text((i+1) % 10 != 0 ? i.toString() : 'Image')),)