首页 > 解决方案 > 如何将空值添加到列表生成器元素?

问题描述

从字符串我尝试制作一个二维数组列表作为表格工作。到目前为止,下面的代码可以完美运行。当我尝试从服务器获取旧数据时,我的问题就开始了。我尝试修改下面的代码,但我不断收到错误,如下所示。

实际数据如下所示[01, 10, 04.11.2017, PN-DURUKAN, 18, B, 557.12, 20171014742, E, system, , AB40710000001680]。

如果任何数据不是这种格式(例如,如果我得到一个数据为[01, 10, 04.11.2017, ],我需要将空值放入 rest 并添加到我的列表中。我该怎么做?

错误: E/flutter (10127): [ERROR:flutter/shell/common/shell.cc(182)] Dart 错误:未处理的异常:E/flutter (10127):RangeError(结束):无效值:不在范围内302..305,含:314 E/flutter (10127):#0 RangeError.checkValidRange (dart:core/errors.dart:325:9)

编码:

Future<List<List<String>>> _makeTable(mText) async {
  var entries;
  entries = mText.split(":=:");
  if (entries.length < 2) {
    throw ArgumentError.value(mText, "text", "Invalid format");
  }
  int row = int.parse(entries[0]);
  int col = int.parse(entries[1]);

  //#####################################
  //TODO: I need to modify below if statement so I can set null value instead of throw an error
  //if (entries.length != 2 + row * col) {
    //throw ArgumentError.value(mText, "text", "Invalid format");
  //}

  // List<List<String>> returnArray;
  //returnArray = new List.generate(row, (i) => entries.sublist(2 + i * col, 2 + (i + 1) * col));
  //#####################################

  // ***** MODIFICATION SECTION *******:
  List<List<String>> returnArray;
  for (var i = 0; i < row; i++) {
    var _mValue;
    _mValue = entries.sublist(2 + i * col, 2 + (i + 1) * col);
    print("$_mValue");
  }
  return returnArray;
}

更新代码:

Future<List<List<String>>> _makeTable(mText) async {
  var entries;
  entries = mText.split(":=:");
  if (entries.length < 2) {
    throw ArgumentError.value(mText, "text", "Invalid format");
  }
  int row = int.parse(entries[0]);
  int col = int.parse(entries[1]);

  List<List<String>> returnArray = new List<List<String>>();
  for (var i = 0; i < row; i++) {
    var x = 2 + i * col;
    var y = 2 + (i + 1) * col;

    if (y <= entries.length) {
      returnArray.insert(i, entries.sublist(x, y));
    }
  }
  return returnArray;
}

标签: arrayslistdartgenerator

解决方案


推荐阅读