我的应用程序中有一个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 )我遇到了一些异步问题。
似乎我遗漏了一些明显的东西,但是我无法弄清楚该方法。任何建议,将不胜感激。
答案 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.