我想用条件语句设置CircleAvtala的BackekImage属性.我有一个bool类型的变量_ImageProvided.如果为True,则应将FileImage分配给BackatherImage属性,否则应分配AssetImage.

出现错误:参数类型‘Object’无法分配给参数类型‘ImageProvider<Object>?

当我分别为AssetImage或FileImage分配时,代码可以正常工作. 就像这样:

CircleAvatar(
    .....
    backgroundImage: FileImage(MyFileVariable),
    .....
);

就像这样:

CircleAvatar(
    .....
    backgroundImage: AssetImage("MyAssetPath"),
    .....
);

但当我try 这样做时,出现了上面提到的错误:

CircleAvatar(
    .....
    backgroundImage: _imageProvided ? FileImage(MyFileVariable) : AssetImage("MyAssetPath"),
    .....
);

推荐答案

您可以将其强制转换为;FileImage(MyFileVariable) as ImageProvider?,因此整个代码块将如下所示:

CircleAvatar(
    .....
    backgroundImage: _imageProvided ? FileImage(MyFileVariable) as ImageProvider?: AssetImage("MyAssetPath"),
    .....
);

Flutter相关问答推荐

自动测试Flutter应用程序进行QA的最佳方法是什么?

Flutter:sqflite DB

使用ThemeProvider不在亮模式和暗模式之间切换

material 3芯片,不能go 除输入芯片小部件上的轮廓

Flutter 翼future 建造者不断开火和重建.它在每次重建时都会生成一个新的随机数--我如何防止这种情况?

Flutter 蜂巢不能正常工作,我正在使用蜂巢在设备上存储数据,但当我关闭并重新启动应用程序时,我失go 了一切

如何确定Flutter 中的文本 colored颜色 ?

Flutter 渲染HTML和数学(LaTeX和Katex)

dart /长笛中的返回早期模式和拆分方法

如何处理平台游戏的对象冲突?

Flutter 附近的连接

Flutter http 请求获取 null

如何在 VS Code 中启用 Flutter 运行/调试工具栏?

为 flutter app/firebase 保存 chatgpt api-key 的正确方法是什么

如何在Flutter中显示ListView Builder区域外的列表数据?

如何从 Flutter 中的 App2 远程点击 App1 中的按钮

PreferredSizeWidget类不能用作混合,因为它既不是混合类也不是混合

Flutter blue plus 库,当try 从 esp32 驱动程序获取 PlatformException 时读取特性

有没有办法为文本中的下划线创建自定义样式?

为什么 setState 不改变我的变量 Flutter?