如何在Flutter中使用CachedNetworkImage实现重试?

6
我在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,
    );
  }
1个回答

1

1
这只使用内存缓存,不像CachedNetworkImage一样缓存到磁盘。 - Simon
甚至不支持网络。 - Maxgmer
@Maxgmer,CachedNetworkImage也不支持。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接