在运行时图像未知的FadeInImage

时间:2019-05-11 17:17:58

标签: flutter

我的应用程序中有一个FadeInImage,其中加载了图像以响应用户操作。这意味着在运行时,我不知道图像,只希望FadeInImage不显示任何内容。

如果我为图像传递null或一个空字符串,则会出现运行时错误。

flutter: ══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════
flutter: The following ArgumentError was thrown resolving an image codec:
flutter: Invalid argument(s): No host specified in URI file:///

此处是相关的Widget声明:

Container(
  height: 100,
  child:FadeInImage.memoryNetwork(
  placeholder: kTransparentImage,
  image: _d2apiModel.emblemUrl,
  fit: BoxFit.fitWidth,
),

(其中_d2apiModel是根据用户操作进行更新的提供程序)。

我知道我可以将默认图片放入资产捆绑包中,将其从捆绑包中复制到文档存储中,获取图片的文件URI,然后将其用作默认图片,但是1)看起来有些过头了,2 )我遇到了一些异步问题。

似乎我遗漏了一些明显的东西,但是我无法弄清楚该方法。任何建议,将不胜感激。

1 个答案:

答案 0 :(得分:1)

在提供商未更新的情况下,您可以使用kTransparentImage显示常规图像,然后在FadeInImage进行更新时显示您的Container( height: 100, child: hasProviderBeenUpdated ? Image.memory( kTransparentImage, fit: BoxFit.fitWidth, ) : FadeInImage.memoryNetwork( placeholder: kTransparentImage, image: _d2apiModel.emblemUrl, fit: BoxFit.fitWidth, ), ),

 @ManyToOne
 @JoinColumn(name="paymentPlan")  
 private PaymentPlan paymentPlan;

 Add this to Your PaymentPlanDetail Class As it will Map both the classes As Above map other class too.