颤振错误:“对象?”类型的值不能分配给“字符串”类型的变量

时间:2021-07-20 00:01:28

标签: android flutter mobile

在 flutter 中使用滑块时出错。

错误所在的代码:

 Slider(
                    value: (_currentStrength ?? userData.strength).toDouble(),
                    activeColor:
                        Colors.brown[_currentStrength ?? userData.strength],
                    inactiveColor:
                        Colors.brown[_currentStrength ?? userData.strength],
                    min: 100.0,
                    max: 900.0,
                    divisions: 8,
                    onChanged: (val) =>
                        setState(() => _currentStrength = val.round()),
                  ),

用户数据类:

class UserData {

  final String uid;
  final String name;
  final String sugars;
  final int strength;

  UserData({ required this.uid, required this.sugars, required this.strength, required this.name });

}

ScreenShot

1 个答案:

答案 0 :(得分:1)

您正在使用 Flutter 并启用了声音零安全性。该错误消息意味着您正在尝试将一个可能为 null 的值分配给一个可能不为 null 的参数。

您可能可以解决您的问题,方法是在您传入的值中添加一个感叹号,例如:_currentStrength ?? userData.strength!

但请阅读:https://dart.dev/null-safety