如何在颤动的列表视图构建器中设置数组列表?

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}",
                                        

                                    ],
                                  ),
                                ),
                              ),
                            ),

这是我得到的结果的截图

我想要以序列化方式索引方式获取数组列表。我应该如何实现它? 这就是我希望列表显示的方式

  1. ffg
  2. fgsgg
  3. 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 类型的列表,因此要获取列表中的内容:

  1. 你必须定义索引号
  2. select获取其值的key

试试这个:Text("${widget.steps[index][step]}")