Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:范围错误(最大):必须为正且<;=2^32:不在包含的范围1..4294967296:0_Flutter_Dart - Fatal编程技术网

Flutter 颤振:范围错误(最大):必须为正且<;=2^32:不在包含的范围1..4294967296:0

Flutter 颤振:范围错误(最大):必须为正且<;=2^32:不在包含的范围1..4294967296:0,flutter,dart,Flutter,Dart,我正在尝试做一个随机选择某人的应用程序。在页面中有一些文本字段,您可以在其中输入您的姓名和一个按钮。当我点击按钮时,它会将我带到结果页面,在那里我想显示随机选择的人的名字。我在结果页的构造函数中传递了人员列表,并做了如下操作: import 'package:flutter/material.dart'; import 'dart:math'; class ResultScreen extends StatefulWidget { final List persons; ResultScree

我正在尝试做一个随机选择某人的应用程序。在页面中有一些文本字段,您可以在其中输入您的姓名和一个按钮。当我点击按钮时,它会将我带到结果页面,在那里我想显示随机选择的人的名字。我在结果页的构造函数中传递了人员列表,并做了如下操作:

import 'package:flutter/material.dart';
import 'dart:math';
class ResultScreen extends StatefulWidget {
 final List persons;
ResultScreen({this.persons});

@override
_ResultScreenState createState() => _ResultScreenState();
}

class _ResultScreenState extends State<ResultScreen> {
final _random = Random();

// var selectedPerson = persons[_random.nextInt(persons.length)];
                // print(selectedPerson);
@override
Widget build(BuildContext context) {
return Material(
      child: Container(
    decoration: BoxDecoration(
        image: DecorationImage(
            image: AssetImage("lib/images/fond.jpg"), fit: BoxFit.cover)),
    child: Center(
      child: Text(' And the loser is\n ${widget.persons[_random.nextInt(widget.persons.length)]} ', 
  style: TextStyle(color: Colors.black, fontSize: 50, fontWeight: FontWeight.bold),),
    ),
  ),
  );
  }
  }
导入“包装:颤振/材料.省道”;
导入“dart:math”;
类ResultScreen扩展StatefulWidget{
最后人员名单;
结果筛选({this.persons});
@凌驾
_ResultScreenState createState()=>\u ResultScreenState();
}
类_结果筛选状态扩展状态{
最终随机=随机();
//var selectedPerson=个人[_random.nextInt(个人长度)];
//打印(所选人员);
@凌驾
小部件构建(构建上下文){
退货(
子:容器(
装饰:盒子装饰(
图像:装饰图像(
图片:AssetImage(“lib/images/fond.jpg”),fit:BoxFit.cover),
儿童:中心(
child:Text('输家是${widget.persons[\u random.nextInt(widget.persons.length)]},',
样式:TextStyle(颜色:Colors.black,fontSize:50,fontwweight:fontwweight.bold),
),
),
);
}
}
当导航器推送结果页时,我出现此错误:

RangeError (max): Must be positive and <= 2^32: Not in inclusive range 1..4294967296: 0

RangeError(max):必须为正,并且当您将
0
传递给
\u random.nextInt()
时,会导致此错误

显然,您的列表是空的,
widget.persons.length
正在返回
0

当您将人员列表传递到小部件时,检查人员列表发生了什么