参数类型“Object”不能分配给参数类型“ImageProvider<Object>?”

Posted

技术标签:

【中文标题】参数类型“Object”不能分配给参数类型“ImageProvider<Object>?”【英文标题】:The argument type 'Object' can't be assigned to the parameter type 'ImageProvider<Object>?' 【发布时间】:2021-10-13 00:02:27 【问题描述】:

由于最近的更新,我遇到了这个问题,请大家帮帮我

 late PickedFile _imageFile1, _imageFile2;
 final ImagePicker _picker = ImagePicker();


CircleAvatar(
      radius: 80.0,
      backgroundImage: _imageFile2 == null
          ? AssetImage("images/default.jpg")
          : FileImage(File(_imageFile2.path)),
    ),

【问题讨论】:

【参考方案1】:

试试这个,它会起作用的。

CircleAvatar(
  radius: 80.0,
  child: _imageFile2 == null
      ? Image.asset("images/default.jpg")
      : Image.file(File(_imageFile2.path)),
),

【讨论】:

这和之前的回答一样。 看这里 Image.assetImage.file 而不是 AssetImage 和 FileImage,它对我有用。【参考方案2】:

使用child 属性而不是backgroundImage

CircleAvatar(
      radius: 80.0,
      child: _imageFile2 == null
          ? AssetImage("images/default.jpg")
          : FileImage(File(_imageFile2.path),
      ),
),

【讨论】:

我试过了,但兄弟也有同样的问题 参数类型 'Object' 不能分配给参数类型 'Widget?'。 我刚刚试了一下,没有出现任何错误。也许错误是因为其他原因?

以上是关于参数类型“Object”不能分配给参数类型“ImageProvider<Object>?”的主要内容,如果未能解决你的问题,请参考以下文章

参数类型“Object”不能分配给参数类型“ImageProvider<Object>?”

参数类型“FutureBuilder<NewsModel>”不能分配给参数类型“Future<Object?>?”

Flutter - 参数类型“Object”不能分配给参数类型“Map<String, dynamic>”

参数类型“对象?”不能分配给参数类型'String'最新版本

参数类型“AsyncSnapshot<Object?>”不能分配给参数类型“Map<String, dynamic>”

参数类型 'List<Todo>? Function(QuerySnapshot<Object?>)' 不能分配给参数类型 'List<Todo> Function