ListView.builder не показывает никаких ошибок, но ничего не отображает - PullRequest
0 голосов
/ 04 апреля 2020

            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, но ничего не показывает. Может ли это быть из-за слишком большого количества данных, которые программа передает в категорию «Карта»? Я не вижу других источников ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...