2017-10-20 39 views
0

J'essaie d'afficher le contenu de mes valeurs HashMap dans un widget ListView.builder. Y a-t-il un moyen de faire cela? Avec un List je pourrais simplement utiliser l'index, mais comment cela fonctionnerait-il avec un HashMap sans en faire un List? Les clés de la carte sont des chaînes et les valeurs sont des cartes avec les données à afficher.Flutter listview avec Map au lieu de List

Répondre

0

Il suffit de faire une liste des clés et obtenir la valeur en utilisant l'index pour obtenir la clé de la carte et l'utiliser pour obtenir la valeur de la carte

var keys = myMap.keys.toList(); 
var val = myMap[keys[idx]] 
+0

Mais je suis en constante évolution de la carte. Je préfère ne pas créer de liste à chaque fois que j'ajoute des données. –

+1

Chaque fois que vous changez de carte, vous appelez setState() de toute façon, je présume? Si c'est le cas, vous n'avez probablement pas à vous soucier d'appeler keys.toList(). –

+0

Il n'y a aucun moyen d'accéder aux éléments d'une carte par index. Je ne pense pas qu'il existe d'autres implémentations de cartes qui permettent cela. –