我在Flutter中使用了CachedNetworkImage,现在想要实现一个重试机制来处理图片下载失败的情况。在我的例子中,是在errorWidget > GestureDetector > onTap部分。
@override
Widget build(BuildContext context) {
final imgKey = Key(imgUrl);
return CachedNetworkImage(
key: imgKey,
imageUrl: imgUrl,
...
errorWidget: (context, url, error) => Center(
child: GestureDetector(
child: Column(
children: [
const Icon(
Icons.refresh,
color: Colors.red,
),
const Text('Error downloading image.'),
const Text('Tap to retry.'),
],
),
onTap: () { // Implement image reload here
setState(() {
// manager
// .removeFile(url)
// .then((value) => manager.getSingleFile(url));
});
},
),
),
cacheManager: manager,
);
}