hinzufügen itemCount Parameter zu ListView.builder() Konstrukteur
– Pskink
29. Dezember 2018 um 7:53 Uhr
Sie sollten die bestehen itemCount Parameter zum ListView.builder damit es die Anzahl der Elemente kennt
Widget getList() {
List<String> list = getListItems();
ListView myList = new ListView.builder(
itemCount: list.length,
itemBuilder: (context, index) {
return new ListTile(
title: new Text(list[index]),
);
});
return myList;
}
Was ist, wenn meine Liste keine feste Länge hat (z. B. beim unendlichen Scrollen)?
– Benutzer5125586
13. März 2019 um 20:53 Uhr
@RichardMcFriendOluwamuyiwa Listview.builder ist für eine Liste mit einer bestimmten Länge, Sie können listview verwenden, wenn Sie die Länge nicht kennen
– Elham Keshavarz
1. Juni 2019 um 9:56 Uhr
Bei AnimatedList hilft es leider nicht
– Konstantin
31. Oktober 2019 um 16:43 Uhr
Ich verwende SliverList, wo ich keine Option zum Angeben von itemCount finde 🙁
– B.shruti
15. April 2020 um 9:01 Uhr
@ElhamKeshavarz Ihr Kommentar ist falsch und irreführend. Dies ist die offizielle Beschreibung der listview.builder: This constructor is appropriate for list views with a large (or infinite) number of children because the builder is called only for those children that are actually visible. Providing a non-null itemCount improves the ability of the ListView to estimate the maximum scroll extent.
– Ojonugwa Jude Ochalifu
30. Mai 2020 um 9:49 Uhr
Dieser Fehler tritt auf, wenn Ihnen beim Iterieren über ein Array die Werte ausgehen. Im Falle der ListView Komponente die Eigenschaft itemCount fehlt, versucht die Komponente, die Iteration fortzusetzen, weiß jedoch nicht, wann sie abgeschlossen werden muss, sodass sie schließlich außerhalb des Bereichs (der Länge des Arrays) fortfährt.
Sie können diesen Fehler auch sehen, nachdem Sie eine schlechte Einrichtung ausgeführt haben for loop. Zum Beispiel:
var arr = [1, 2, 3];
for (var i=0; i < 4; i++) {
print(arr[i]);
}
Dieser Dart-Code würde ebenfalls zu einem Bereichsfehler führen. Das Array hat 3 Elemente, aber wir versuchen, 4 Mal zu iterieren.
gute ausführliche erklärung
– Muhammad Faizan
10. Juni um 3:56
Fügen Sie das Attribut hinzu
itemCount: list.length,
im listview.builder oder gridview.builder.
Bei mir funktioniert es bei diesem Fehler:
RangeError (index): Invalid value: Not in inclusive range 0..29: 55
gebogen
Wenn Sie verwenden StreamBuilder dann müssen Sie diese Codezeile verwenden:
In meinem Fall meine itemCount:list.lenght Parameter war in Ordnung, aber irgendwo in meiner listTile habe ich falsche Parameter für verwendet list.indexWhere() Funktion. Wenn ich die Funktion behebe, war der Fehler weg.
Rohit Mandiwal
Dies tritt hauptsächlich auf, wenn Sie einen falschen Indexwert verwenden, um Daten aus der Liste abzurufen. in meinem Fall habe ich den gleichen Fehler gemacht.
Musfiq Shanta
wenn du benutzt substring und wenn die Bedingung nicht richtig gemacht wurde, erhalten Sie eine Fehlermeldung
seine Reichweite Problem, nicht im Zusammenhang mit substring
– Muhammad Faizan
10. Juni um 3:55
final showd = note.description.length > 60 ? note.description.substring(0, 50) : note.description; Hier erhalten Sie auch einen Bereichsfehler
– Musfiq Shanta
11. Juni um 3:36
12159800cookie-checkFlatterfehler: RangeError (Index): Ungültiger Wert: Nicht im Bereich 0..2, einschließlich: 3yes
hinzufügen
itemCount
Parameter zuListView.builder()
Konstrukteur– Pskink
29. Dezember 2018 um 7:53 Uhr