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
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]]
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
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
Just use inside the listview builder yourlistname[index ]['keyname' ], that works for me.