[英]How to reverse listview in Flutter
You should be able to reverse the list before feeding it to the ListView
.您应该能够在将列表提供给
ListView
之前反转列表。
List<String> animals = ['cat', 'dog', 'duck'];
List<String> reversedAnimals = animals.reversed.toList();
For ListView
there is a flag called reverse
which is false by default.对于
ListView
有一个名为reverse
的标志,默认情况下为false 。 Change it to true将其更改为真
In ListView has an attitude is reverse , set it is true to reverse your list:在ListView有一个态度是reverse ,设置它是true来反转你的列表:
ListView.builder(
reverse: true,
);
而不是反转listview
,使用reversed 属性或reverse 函数反转您的列表。
Here is a solution with null safety support of reverse the listview.这是一个反向列表视图的空安全支持的解决方案。 Do not use reverse:true because it will reverse your data but when you open listview.builder widget in your app will take you to scroll to the last item .
不要使用 reverse:true 因为它会反转您的数据,但是当您在应用程序中打开 listview.builder 小部件时,您会滚动到最后一项。 To avoid that use this:-
为避免这种情况,请使用:-
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(),
),)
it's work for me这对我有用
return MaterialApp(
home: Scaffold(
appBar: appBar(),
body: ListView.builder(
shrinkWrap: true,
reverse: true,
itemCount: 2,
itemBuilder: (context, index){
return listDesign(index);
},
),
),
);
If you want to conditionally reverse the List that you are passing to the ListView, you can use this extension:如果你想有条件地反转你传递给 ListView 的列表,你可以使用这个扩展:
extension ListExtension<T> on List<T>{
List<T> reverse(bool condition){
return condition ? reversed.toList() : this;
}
}
and use it as [].reverse(yourCondition)
(dont forget to import this extension if you have defined it in some other file)并将其用作
[].reverse(yourCondition)
(如果您已在其他文件中定义它,请不要忘记导入此扩展名)
ListView.builder(
reverse: true,
itemCount: 10,
padding: EdgeInsets.only(top: 10,bottom: 10),
itemBuilder: (context, index){
return .....
}))
If your response is a list use it like this to make it work.如果您的回复是一个列表,请像这样使用它以使其工作。
response.reversed.toList(); response.reversed.toList();
在 Listview Builder 中只做一件事
reverse:true,
Example :例子 :
List data = [
{
"number" : 1,
"iterator" : 0
},
{
"number" : 2,
"iterator" : 1
},
{
"number" : 3,
"iterator" : 2
},
];
**On ListView ... ** **在 ListView ... **
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();
You can reverse it simply like it ==>>你可以像它一样简单地反转它==>>
ListView.builder(
itemCount: snapshot.data!.length,
itemBuilder: (context, index) {
var reverselist = snapshot.data!.reversed.toList();
and Then can be used as ==>然后可以用作 ==>
Text(
reverselist[index]
.tituloCategoria
.toString(),
overflow: TextOverflow.ellipsis,
),
` `
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.