类型 'int' 不是 'function result' 的类型 'double' 的子类型
type 'int' is not a subtype of type 'double' of 'function result'
我是 Flutter 新手。卡在下面的问题中。
double weight = 0;
weightIncrement() {
setState(() {
weight += 1;
});
}
weightDecrement() {
setState(() {
weight -= 1;
});
}
Text(
cardType == CardType.age ? "$age".toString() : "$weight".toString())
在某些按钮上使用上面的方法。并将值设置为 Text 会引发以下错误。
I/flutter (22691):构建计算器时引发了以下断言(脏,状态:_CalculatorState#82a4b):
I/flutter (22691): 'int' 类型不是 'function result'
类型 'double' 的子类型
错误语句本身在这里给出了答案,基本上它说的是你试图设置的状态是 int 类型并且它(dart 编译器)期望它是 double 类型。它假定因为您已将权重类型定义为双精度类型。 (double weight = 0;
).
快速直接的解决方案是在初始化时更改权重类型:int weight = 0;
我明白你为什么要将权重初始化为双精度值,因为权重不一定是整数。为此,您可能需要按如下方式设置双精度状态:
首先将权重初始化为 double weight = 0.0;
然后将您的函数修改为:
weightIncrement() {
setState(() {
weight += 1.0;
}
}
减重也一样。
我是 Flutter 新手。卡在下面的问题中。
double weight = 0;
weightIncrement() {
setState(() {
weight += 1;
});
}
weightDecrement() {
setState(() {
weight -= 1;
});
}
Text(
cardType == CardType.age ? "$age".toString() : "$weight".toString())
在某些按钮上使用上面的方法。并将值设置为 Text 会引发以下错误。 I/flutter (22691):构建计算器时引发了以下断言(脏,状态:_CalculatorState#82a4b): I/flutter (22691): 'int' 类型不是 'function result'
类型 'double' 的子类型错误语句本身在这里给出了答案,基本上它说的是你试图设置的状态是 int 类型并且它(dart 编译器)期望它是 double 类型。它假定因为您已将权重类型定义为双精度类型。 (double weight = 0;
).
快速直接的解决方案是在初始化时更改权重类型:int weight = 0;
我明白你为什么要将权重初始化为双精度值,因为权重不一定是整数。为此,您可能需要按如下方式设置双精度状态:
首先将权重初始化为 double weight = 0.0;
然后将您的函数修改为:
weightIncrement() {
setState(() {
weight += 1.0;
}
}
减重也一样。