【问题标题】:fixing non-null String must be provided to a Text widget必须将修复非空字符串提供给文本小部件
【发布时间】:2021-05-11 09:45:40
【问题描述】:

我是 Flutter 的新手。 我正在开发一个测验应用程序,并尝试让每个测验都有五个问题 我遇到了一些问题:

1- 我不想在同一个测验中重复同一个问题。[我的测验也每次都从第一个问题开始]。

2- 每次它到达我的第 10 个问题 [数组中的第 9 个] 时,我的应用程序就会崩溃。

注意:我使用 JSON 文件来存储我的问题。

  int j = 1;
  int i = 1;
  var random_array;

  genrandomarray() {
var distinctIds = [];
var rand = new Random();
for (int i = 1;;) {
  distinctIds.add(rand.nextInt(10));
  random_array = distinctIds.toSet().toList();
  if (random_array.length < 10) {
    continue;
  } else {
    break;
  }
}
print(random_array);

}

   setState(() {
  if (j < 5) {
    i = random_array[j];
    j++;
  } else {
    Navigator.of(context).pushReplacement(MaterialPageRoute(
      builder: (context) => resultpage(marks: marks),
    ));
  }
 
  disableAnswer = false;
});

【问题讨论】:

    标签: arrays json flutter dart


    【解决方案1】:
          genrandomarray() {
    var rand = new Random();
    

    让它在问题之间随机选择

     var distinctIds = [i = rand.nextInt(10) + 1];
    for (int i = 0;;) {
    

    达到 10 个问题时不会崩溃

     distinctIds.add(rand.nextInt(10) + 1);
      random_array = distinctIds.toSet().toList();
      if (random_array.length < 10) {
        continue;
      } else {
        break;
      }
    }
    print(random_array);
    

    }

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 2021-03-07
      • 2020-08-10
      • 2020-07-09
      • 2021-10-11
      • 2020-12-07
      • 2021-07-19
      • 2022-11-17
      相关资源
      最近更新 更多