如何跳过 ListView Flutter 中的索引
How to skip an index in an ListView Flutter
我正在尝试在 Flutter 中使用一个简单的 ListView。问题是我想对一张卡片.
使用列表的两个索引(索引)
因此,如果 ListView 展开时,它应该始终使用两个索引。第一张卡可以访问索引 1 和 2 的数据,第二张卡可以访问索引 3 和 4 的数据,依此类推。
如果有人知道如何构建这样的东西,我将不胜感激:)
我看到了两种处理这种情况的方法...
第一个
您可以生成其他列表,其中每个元素将包含原始列表的 2 个元素。
第二
使用 isOdd 或 isEven 忽略一些索引。
ListView.builder(
itemCount: myList.length
itemBuilder: (_, index) {
if(index.isEven){
return MyCustomTile(
first: myList[index]
second: index + 1 == myList.length ? null : myList[index+1]
);
}
return Container();
}
)
注意不要让索引超出列表范围
我就是这样处理的,以防以后有人用:
ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: itemList.length,
itemBuilder: (context, index) {
if (index % 2 == 0 && index < itemList.length) {
return Column(
children: [
ListElementWidget(data: itemList[index]),
(index + 1 < itemList.length)
? Padding(
padding: const EdgeInsets.only(top: 8.0),
child: ListElementWidget(
data: itemList[index + 1]),
)
: const SizedBox(
width: 0,
),
],
);
} else {
return const SizedBox(width: 0);
}
},
),
),
除了 sizedbox 大小 0 之外,肯定有更好的方法来设计 non-existent 小部件。但我对 flutter 还很陌生,而且它很有效。
我正在尝试在 Flutter 中使用一个简单的 ListView。问题是我想对一张卡片.
使用列表的两个索引(索引)因此,如果 ListView 展开时,它应该始终使用两个索引。第一张卡可以访问索引 1 和 2 的数据,第二张卡可以访问索引 3 和 4 的数据,依此类推。
如果有人知道如何构建这样的东西,我将不胜感激:)
我看到了两种处理这种情况的方法...
第一个
您可以生成其他列表,其中每个元素将包含原始列表的 2 个元素。
第二
使用 isOdd 或 isEven 忽略一些索引。
ListView.builder(
itemCount: myList.length
itemBuilder: (_, index) {
if(index.isEven){
return MyCustomTile(
first: myList[index]
second: index + 1 == myList.length ? null : myList[index+1]
);
}
return Container();
}
)
注意不要让索引超出列表范围
我就是这样处理的,以防以后有人用:
ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: itemList.length,
itemBuilder: (context, index) {
if (index % 2 == 0 && index < itemList.length) {
return Column(
children: [
ListElementWidget(data: itemList[index]),
(index + 1 < itemList.length)
? Padding(
padding: const EdgeInsets.only(top: 8.0),
child: ListElementWidget(
data: itemList[index + 1]),
)
: const SizedBox(
width: 0,
),
],
);
} else {
return const SizedBox(width: 0);
}
},
),
),
除了 sizedbox 大小 0 之外,肯定有更好的方法来设计 non-existent 小部件。但我对 flutter 还很陌生,而且它很有效。