child: ListView.builder(
itemExtent: 25.0,
itemCount: listOfTiles.length,
itemBuilder: (BuildContext context, int index) {
return TileContent(listOfTiles[index]);
})
Это отрывок из класса 'Widget build (BuildContext context).
_generateData() {
var categoryMap = {};
for (int i = 0; i < parties.length; i++) {
for (int j = 0; j < parties[i].pledgeCategory.length; j++) {
if (parties[i].pledgeCategory[j].contains(',')) {
var splitted = parties[i].pledgeCategory[j].split(',');
for (int k = 0; k < splitted.length; k++) {
if (splitted[k][0] == ' ' || splitted[k][0] == '(') {
splitted[k] = splitted[k].substring(1, splitted[k].length);
}
if (splitted[k][splitted[k].length - 1] == ' ' ||
splitted[k][splitted[k].length - 1] == ')') {
splitted[k] = splitted[k].substring(0, splitted[k].length - 1);
}
if (categoryMap.containsKey(splitted[k])) {
categoryMap.update(
splitted[k], (int) => categoryMap[splitted[k]].add(parties[i]));
} else {
categoryMap[splitted[k]] = [parties[i]];
}
}
} else {
if (categoryMap.containsKey(parties[i].pledgeCategory[j])) {
categoryMap.update(parties[i].pledgeCategory[j],
(int) => categoryMap[parties[i].pledgeCategory[j]].add(parties[i]));
} else {
categoryMap[parties[i].pledgeCategory[j]] = [parties[i]];
}
}
}
}
categoryMap.forEach((key, value) {
List<MyTile> temp = [];
for (int i = 0; i < value.length; i++){
temp.add(MyTile(value[i].pledge));
}
listOfTiles.add(MyTile(key, temp));
});
}
Это отрывок из класса State.
Я пытаюсь создайте карту, которая будет проходить через функцию forEach, и в конечном итоге создайте список. Класс MyTile принимает строку заголовка и необязательный список MyTile. Список MyTile должен создавать ExpansionTile в каждой итерации ListView.builder, но ничего не показывает. Может ли это быть из-за слишком большого количества данных, которые программа передает в категорию «Карта»? Я не вижу других источников ошибок.