如何在Flutter中反转ListView

Dev*_*977 2 listview future list dart flutter

我实现了listview,可以从获取数据json。

我遵循了这个实现。

我该如何反转此列表视图的顺序?(第一个元素应该变成最后一个元素,等等)。

Nhậ*_*rần 15

在ListView有一个态度是reverse,设置它是true来反转你的列表:

ListView.builder(
      reverse: true,
);
Run Code Online (Sandbox Code Playgroud)

  • 单击时,reverse:true 会显示列表的最后一个元素,因此这不是完美的解决方案。 (2认同)

Din*_*ian 12

因为ListView有一个标记,默认情况下reverse为false。将其更改为true

  • 不,在某些时候,您的列表不会通过使用reverse : true 来反转。它开始从列表视图的底部指向您的所有列表。所以更好的方法是反转你的数组。 (13认同)

ᴅ ᴇ*_*ᴇ ᴛ 7

这是一个具有反向列表视图的空安全支持的解决方案。不要使用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(),
                      ),)
Run Code Online (Sandbox Code Playgroud)


che*_*ins 6

您应该能够反转列表,然后再将其提供给ListView。

List<String> animals = ['cat', 'dog', 'duck'];
List<String> reversedAnimals = animals.reversed.toList();
Run Code Online (Sandbox Code Playgroud)