2017-10-20 4 views
0

Ich versuche, den Inhalt meiner HashMap Werte in einem ListView.builder Widget anzuzeigen. Gibt es eine Möglichkeit, dies zu tun? Mit einem List könnte ich einfach den Index verwenden, aber wie würde das mit einem HashMap funktionieren, ohne einen List daraus zu machen? Die Schlüssel der Karte sind Zeichenfolgen und die Werte sind Karten mit den anzuzeigenden Daten.Flattern Listenansicht mit Karte statt Liste

Antwort

0

Machen Sie eine Liste von den Tasten und dann den Wert bekommen, den Index mit Hilfe der Kartenschlüssel bekommen und es verwenden, um die Karte Wert

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

zu bekommen, aber ich bin ständig wechselnde Karte. Ich würde es vorziehen, beim Hinzufügen von Daten nicht jedes Mal eine Liste zu erstellen. –

+1

Jedes Mal, wenn Sie Ihre Karte ändern, rufen Sie trotzdem setState() auf, nehme ich an? In diesem Fall brauchen Sie sich wahrscheinlich keine Gedanken über den Aufruf von keys.toList() zu machen. –

+0

Es ist nicht möglich, auf Elemente einer Map per Index zuzugreifen. Ich glaube nicht, dass es andere Kartenimplementierungen gibt, die das erlauben würden. –