在将列表输入到
ListView
之前,您应该能够反转列表。
List<String> animals = ['cat', 'dog', 'duck'];
List<String> reversedAnimals = animals.reversed.toList();
对于
ListView
,有一个名为 reverse
的标志,默认情况下为 false。将其更改为true
在 ListView 有一个态度是 reverse,设置它是 true 来反转你的列表:
ListView.builder(
reverse: true,
);
这是一个具有 null safety 支持反转列表视图的解决方案。 不要使用reverse:true,因为它会反转您的数据,但是当您在应用程序中打开listview.builder小部件时,它将自动滚动到最后一项。 为了避免这种情况,请使用这个:-
ListView.builder(
itemCount: customer?.data.length ?? 0,
itemBuilder: (BuildContext context, int index) {
int itemCount = customer?.data.length ?? 0;
int reversedIndex = itemCount - 1 - index;
child: Container(
child: Text(value.allCustomerModel!.data![reversedIndex].attributes!.name.toString(),
),)
如果你想有条件地反转你传递给ListView的List,你可以使用这个扩展:
extension ListExtension<T> on List<T>{
List<T> reverse(bool condition){
return condition ? reversed.toList() : this;
}
}
并将其用作
[].reverse(yourCondition)
(如果您在其他文件中定义了此扩展,请不要忘记导入它)
你可以简单地反转它==>>
ListView.builder(
itemCount: snapshot.data!.length,
itemBuilder: (context, index) {
var reverselist = snapshot.data!.reversed.toList();
然后然后可以用作==>
Text(
reverselist[index]
.tituloCategoria
.toString(),
overflow: TextOverflow.ellipsis,
),
`
您可以在返回 ListView 元素之前反转列表的顺序。
ListView.separated(
itemCount: widget.orderList.length,
itemBuilder: (context, index) {
final reversed = widget.orderList.reversed.toList(); // reverse your list here
final item = reversed[index]; // assign it with index
return Text(
item.name, // the item name in my list
),
},
// The separators
separatorBuilder: (context, index) {
return const Divider(
color: Colors.grey,
);
},
),
示例:
List data = [
{
"number" : 1,
"iterator" : 0
},
{
"number" : 2,
"iterator" : 1
},
{
"number" : 3,
"iterator" : 2
},
];
**在列表视图上... **
ListView(children: [
for (var i = data.length; i > 0; i--) ... [
Text(data[i]["number"].toString())
]
])
List<int> number1 = List.empty(growable: true);
if (number1.isEmpty) {
number1.add(2);
number1.add(9);
number1.add(5);
number1.add(6);
print(number1);
number1.sort();
number1=number1.reversed.toList();
print(number1);
}
List<int> numbers = [1, 2, 3, 4, 5, 6, 7];
List<int> reversedNumbers = numbers.reversed.toList();
SingleChildScrollView(
reverse: false,
child: ListView.builder(
shrinkWrap: true,
reverse: true,
physics: NeverScrollableScrollPhysics(),
itemCount: 10,
itemBuilder: (context, index){
return Container();
},
),
)