我想拥有一个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];
}
)
是否有可能使用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