颤振如何解决错误消息:颜色不是类型错误

时间:2020-07-20 06:26:42

标签: flutter dart

最近,在运行Flutter升级后,我注意到关于Color类型出现了很多错误。例如下面的代码,颜色被标记为错误。错误消息是:颜色不是一种类型。

class ChoiceCard extends StatelessWidget {
  final String cardText;
  final String cardImage;
  final double width;
  final double height;
  final Color color;
  final Category category;
  final VoidCallback choiceCardCallback;

尝试找出发生这种情况的原因之后,我尝试编译我的应用程序,发现该应用程序确实可以正常运行,因此没有实际错误。但是,在应用程序中标记了所有这些红色错误后,将很难查看其中是否存在“真实”错误。 还有其他人遇到过这个问题。我想清除它。

非常感谢

3 个答案:

答案 0 :(得分:0)

虽然我建议您让Flutter本身获取变量的类型,但我什至知道这还不能永久解决...

我知道声明变量的类型有很多好处,但是,作为一种临时的解决方法,我建议您像现在这样声明一个最终变量:

class ChoiceCard extends StatelessWidget {
  final cardText;
  final cardImage;
  final width;
  final height;
  final color;
  final category;
  final choiceCardCallback;

如果需要,请确保在类构造函数中包括final字段:

ChoiceCard({this.cardText, this.cardImage, this.width, this.height, this.color, this.category, this.choiceCardCallback});

接下来,在这种情况下为color分配变量值时:

color = Colors.red;

这有望暂时解决您的错误,因为flutter本身会发现color的数据类型。

谢谢,让我知道是否有帮助。

答案 1 :(得分:0)

  1. 在pubspec.yaml中更新SDK版本(必须为2.6.0或更高版本)
environment:
   sdk: ">=2.7.0 <3.0.0"
  1. 工具-> Flutter-> Flutter Clean

  2. 文件->使缓存/重启无效

OR

如果上述解决方案不起作用,请在文件或软件包中查找任何未完成的代码并完成。或者尝试解决文件或包其他部分中发生的其他错误。如果代码未完成或其他错误,分析服务器可能会出错。

答案 2 :(得分:0)

您只需要重新构建您的应用。停止运行应用程序并重新运行您的应用程序。我遇到了这个错误,但通过从头开始重新运行解决了。