【问题标题】:(FLUTTER) --- RangeError (index): Invalid value: Valid value range is empty: 0(FLUTTER)--- RangeError(索引):无效值:有效值范围为空:0
【发布时间】:2021-10-06 09:25:31
【问题描述】:

行( mainAxisAlignment: MainAxisAlignment.center, 孩子们: [ 填充( 填充:常量 EdgeInsets.all(8.0), 孩子:图标( 密码[0] == null ?未更改密码:更改密码, 颜色:颜色。白色, 尺寸:20, ),

谁能解释一下为什么我不能写一个 if 语句来检查索引的值是否等于空值?

【问题讨论】:

  • 什么是password?添加更多详细信息..
  • 列表 密码 = [];

标签: list flutter null


【解决方案1】:

密码[0] 不存在。 看来密码是一个列表

如果它是一张地图,你可以做 password[0] == null,但它不是。这是一个清单。该值不存在。它不为空。它不存在。所以它爆炸了。

为什么不存在?因为没有分配内存。 Flutter 会在你需要的时候自动分配内存。如果您执行 password.add(value),则此时密码 [0] 将存在。但是由于您收到范围错误,因此您没有使用密码。添加

对于列表,使用 password.isNotEmpty 或 password.length == 0;

【讨论】:

    【解决方案2】:

    使用password.isEmpty 而不是password[0] == null

    【讨论】:

      猜你喜欢
      • 2021-11-13
      • 1970-01-01
      • 2021-06-16
      • 2021-07-31
      • 1970-01-01
      • 2019-07-25
      • 2021-02-23
      • 2020-11-01
      • 2020-10-07
      相关资源
      最近更新 更多