Q:

Flutter listview with Map instead of List

I'm trying to display the contents of my HashMap values in a ListView.builder widget. Is there a way to do this? With a List I could simply use the index, but how would that work with a HashMap without making a List out of it? 
The keys of the map are strings and the values are maps with the data to display.

A:

Its a little late but You could also try this.
Map values = 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,
        ),
      ],
    );
  },
);

for a more detailed example check this out
https://kodestat.gitbook.io/flutter/39-flutter-listviewbuilder-using-dart-maps

A:

Just make a list from the keys and then get the value using the index to get the map key and use it to get the map value
var keys = myMap.keys.toList();
var val = myMap[keys[idx]]

A:

it is possible, you can do something like this 
  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);
       });

   });

or you can try 
 final list = map.values.toList(growable: {true/false});
// play with your list

