是否可以在没有使用itembuilder的情况下拥有Listview.seperated?

时间:2020-02-28 15:00:39

标签: flutter

我想拥有一个Listview.seperated,在这里我可以将元素定义为子元素,而不是使用itembuilder。我在下面发布的代码中找到了一种方法,可以让我像子数组一样进行插入。但是这种方式我必须手动更改项目数。是否有其他方法无需将数组存储在字段中的某处?

child: ListView.separated
(
  itemCount: 3,
  separatorBuilder: (BuildContext context, int index) => Divider(height: 1.0), 
  itemBuilder: (BuildContext context, int index)
  {
    [
      ListTile(
        title: Text('Group Name'),
      ),
      ListTile(
        title: Text('Leave Group'),
      ),
      ListTile(
        title: Text('Invite Member'),
      )
    ][index];
  }
)

1 个答案:

答案 0 :(得分:1)

是否可以将Listview.seperated而不使用 itembuilder?

答案为,因为:

ListView.separated constructor
ListView.separated(
{Key key,
Axis scrollDirection: Axis.vertical,
bool reverse: false,
ScrollController controller,
bool primary,
ScrollPhysics physics,
bool shrinkWrap: false,
EdgeInsetsGeometry padding,
@required IndexedWidgetBuilder itemBuilder,
@required IndexedWidgetBuilder separatorBuilder,
@required int itemCount,
bool addAutomaticKeepAlives: true,
bool addRepaintBoundaries: true,
bool addSemanticIndexes: true,
double cacheExtent}
)

这是您感兴趣的部分:

@required IndexedWidgetBuilder itemBuilder,
@required IndexedWidgetBuilder separatorBuilder,
@required int itemCount,

https://api.flutter.dev/flutter/widgets/ListView/ListView.separated.html