Image 资源不加载,但在热加载时加载
我是个新手。我从后端获取图像,并使用Hero和FadeInImage在屏幕上显示这些图像。 我在图像中添加了超链接,并在点击API后生成了图像列表Image 资源不加载,但在热加载时加载,image,flutter,assets,hot-reload,flutter-hotreload,Image,Flutter,Assets,Hot Reload,Flutter Hotreload,我是个新手。我从后端获取图像,并使用Hero和FadeInImage在屏幕上显示这些图像。 我在图像中添加了超链接,并在点击API后生成了图像列表 child: Hero( tag: tag, child: FadeInImage( width: 130.0, height: 186.0, placeholder: Asset
child: Hero(
tag: tag,
child: FadeInImage(
width: 130.0,
height: 186.0,
placeholder: AssetImage('assets/images/splash1.png'),
fit: BoxFit.cover,
// onTap: _launchUrl(),
image: NetworkImage(
(merchant.logo)),
// fit: BoxFit.cover,
),
),
),
),
当我运行我的应用程序时,图像不会被加载;屏幕是空的。但当我热重新加载它显示
...List.generate(
merchantsList.length,
(index) {
print(merchantsList.length);
print(index);
return MerchantCard(merchant: merchantsList[index]);
您可以使用占位符图像,也可以添加Future Builder概念,请检查Future概念
@override
Widget build(BuildContext context) {
return new FutureBuilder(
future: _loadImage(),
builder: (BuildContext context, AsyncSnapshot<Image> image) {
if (image.hasData) {
return image.data; // image is ready
} else {
return new Container(); // placeholder
}
},
);
}
@覆盖
小部件构建(构建上下文){
返回新的FutureBuilder(
未来:_loadImage(),
生成器:(BuildContext上下文,异步快照映像){
if(image.hasData){
return image.data;//图像已就绪
}否则{
返回新容器();//占位符
}
},
);
}
问题实际上是小部件是在列表中填充值之前构建的。我在我的listPopulated函数中使用了setState,它工作得非常好。生成后是否调用setState?否我的代码中没有setState我得到了这个消息,“引发了另一个异常:“NetworkImage”类型不是“Future?”类型的子类型,where”