使用Map而不是List来查看列表视图

Bra*_*sen 8 dart flutter

我正在尝试HashMapListView.builder窗口小部件中显示我的值的内容.有没有办法做到这一点?有了一个List我可以简单地使用索引,但是如果HashMap没有使用索引,它将如何工作List?地图的键是字符串,值是与要显示的数据的地图.

Gün*_*uer 8

只需从键中创建一个列表,然后使用索引获取值以获取地图键并使用它来获取地图值

var keys = myMap.keys.toList();
var val = myMap[keys[idx]]
Run Code Online (Sandbox Code Playgroud)


Muh*_*dil 7

有可能,你可以做这样的事情

  map.forEach((key, value) {
        // here you can write your logic using "Value object",
       // make new object of your list view item and
       // add it to it's  builder list using 

       setState(() {
          _builderList.insert(0, itemObject);
       });

   });
Run Code Online (Sandbox Code Playgroud)

或者你可以尝试

 final list = map.values.toList(growable: {true/false});
// play with your list
Run Code Online (Sandbox Code Playgroud)


小智 7

有点晚了,但是您也可以尝试一下。映射值= snapshot.data;

return new ListView.builder(
  itemCount: values.length,
  itemBuilder: (BuildContext context, int index) {
    String key = values.keys.elementAt(index);
    return new Column(
      children: <Widget>[
        new ListTile(
          title: new Text("$key"),
          subtitle: new Text("${values[key]}"),
        ),
        new Divider(
          height: 2.0,
        ),
      ],
    );
  },
);
Run Code Online (Sandbox Code Playgroud)

有关更详细的示例,请查看此 https://kodestat.gitbook.io/flutter/39-flutter-listviewbuilder-using-dart-maps