Flutter 类型';int';不是类型为';字符串';但一切都是整数
我知道这看起来是重复的,但事实并非如此,其他话题的答案与我现在面临的完全不同 我真的不知道发生了什么,一切都是整数,但仍然是字符串 问题发生在FOR循环上(如果我打印somaModulos,它会正确地显示数学,只有在FOR循环内部打印,如果我在FOR外部打印,它会导致下面的错误) 以后不要执行任何操作,因为问题“type'int'不是type'String'的子类型” 2ºFlutter 类型';int';不是类型为';字符串';但一切都是整数,flutter,dart,Flutter,Dart,我知道这看起来是重复的,但事实并非如此,其他话题的答案与我现在面临的完全不同 我真的不知道发生了什么,一切都是整数,但仍然是字符串 问题发生在FOR循环上(如果我打印somaModulos,它会正确地显示数学,只有在FOR循环内部打印,如果我在FOR外部打印,它会导致下面的错误) 以后不要执行任何操作,因为问题“type'int'不是type'String'的子类型” 2º 可以看出,文本字段onChange上的数组类型值发生了变化 即使文本输入类型是一个数字,如果我把它放在onChange方法
可以看出,文本字段onChange上的数组类型值发生了变化 即使文本输入类型是一个数字,如果我把它放在onChange方法上,它也会变成string,我没有为此付出任何努力(我是dart新手)
列表中的项目总是用int值创建,但在过程中间更改为字符串…
TextField(
keyboardType: TextInputType.number,
decoration: InputDecoration(labelText: "Quantidade de módulos"),
style: TextStyle(fontSize: 18),
controller: _controllerQnt,
onChanged: (String value) {
setState(() {
modulosConfig[itemUtilized][0] = value;
});
},
为了使其正常工作,我将数组从:
modulosConfig.insert(indexStart, [0, 0, 'colonial', 'retrato']);
致:
或者更改文本字段onChange方法整数
我选择将incremention更改为all字符串,然后在FOR循环中解析它。ModulesNecessarios真的是int吗?
ModulesNecessarios
和ModulesConfig
的数据类型是什么?当显式地为其分配字符串时,为什么要将TextModules声明为var,当您显式地为i指定一个int并递增时,为什么要将i声明为var呢?我知道关于var的使用有很多争论,但是类型歧义可能是有问题的。这让我想知道,我们在代码中看不到modulesNecessarios是在哪里声明的,如果它不是一个字符串的话。。。另外,是的,modulesNecessarios和modulesConfig都是整数。。。我会更新一个例子,你说“一切都是一个整数”,但有些东西(例如int.parse
)期望String
s,而不是int
s。
60
TextField(
keyboardType: TextInputType.number,
decoration: InputDecoration(labelText: "Quantidade de módulos"),
style: TextStyle(fontSize: 18),
controller: _controllerQnt,
onChanged: (String value) {
setState(() {
modulosConfig[itemUtilized][0] = value;
});
},
modulosConfig.insert(indexStart, [0, 0, 'colonial', 'retrato']);
modulosConfig.insert(indexStart, ['0', '0', 'colonial', 'retrato']);