如何在颤动的列表视图构建器中设置数组列表?
how to set the array list in a listview builder in flutter?
我已成功从 firestore 数据库中获取数组,为此我正在尝试使用 ListView.builder
为数组构建列表,但无法这样做。
这是我的数组列表
[{step: ffg}, {step: fgsgg}, {step: fgfda}]
列表视图生成器代码
Expanded(
child: ListView.builder(
itemCount: widget.steps.length,
itemBuilder: (context, index) => Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
//"STEPS ${index + 1}",
"${widget.steps}",
],
),
),
),
),
这是我得到的结果的截图
我想要以序列化方式索引方式获取数组列表。我应该如何实现它?
这就是我希望列表显示的方式
- ffg
- fgsgg
- fgfda
就用
Text( "${widget.steps[index]['step']}",)
您可以使用 Column
..
Column(
children: widget.steps.map((item){
return Text('${item['step']}');
}).toList(),
)
..或者像这样使用 ListView.builder
..
ListView.builder(
itemCount: widget.steps.length,
itemBuilder: (BuildContext context, int index){
return Text('${widget.steps[index]['step']}');
},
)
您需要在构建器中引用数组中的索引。 widget.steps
使用 List
的默认 toString
方法将其转换为 String
.
并且如果您不想使用 Map
的默认值 toString
(这是每个 List
参考中包含的内容),请参考您的 Map
项也想秀
这些对象的两个引用运算符都是[]
Expanded(
child: ListView.builder(
itemCount: widget.steps.length,
itemBuilder: (context, index) => Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
"${widget.steps[index]['step']}",//Reference an index & key here. This is why index is provided as a parameter in this callback
],
),
),
),
),
根据您的回复,widget.steps
是一个 Map 类型的列表,因此要获取列表中的内容:
- 你必须定义索引号
- select获取其值的key
试试这个:Text("${widget.steps[index][step]}")
我已成功从 firestore 数据库中获取数组,为此我正在尝试使用 ListView.builder
为数组构建列表,但无法这样做。
这是我的数组列表
[{step: ffg}, {step: fgsgg}, {step: fgfda}]
列表视图生成器代码
Expanded(
child: ListView.builder(
itemCount: widget.steps.length,
itemBuilder: (context, index) => Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
//"STEPS ${index + 1}",
"${widget.steps}",
],
),
),
),
),
这是我得到的结果的截图
我想要以序列化方式索引方式获取数组列表。我应该如何实现它? 这就是我希望列表显示的方式
- ffg
- fgsgg
- fgfda
就用
Text( "${widget.steps[index]['step']}",)
您可以使用 Column
..
Column(
children: widget.steps.map((item){
return Text('${item['step']}');
}).toList(),
)
..或者像这样使用 ListView.builder
..
ListView.builder(
itemCount: widget.steps.length,
itemBuilder: (BuildContext context, int index){
return Text('${widget.steps[index]['step']}');
},
)
您需要在构建器中引用数组中的索引。 widget.steps
使用 List
的默认 toString
方法将其转换为 String
.
并且如果您不想使用 Map
的默认值 toString
(这是每个 List
参考中包含的内容),请参考您的 Map
项也想秀
这些对象的两个引用运算符都是[]
Expanded(
child: ListView.builder(
itemCount: widget.steps.length,
itemBuilder: (context, index) => Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
"${widget.steps[index]['step']}",//Reference an index & key here. This is why index is provided as a parameter in this callback
],
),
),
),
),
根据您的回复,widget.steps
是一个 Map 类型的列表,因此要获取列表中的内容:
- 你必须定义索引号
- select获取其值的key
试试这个:Text("${widget.steps[index][step]}")