How to implement a retry in Flutter using CachedNetworkImage?

Viewed 1644

I am using CachedNetworkImage in Flutter, and I am wonder how I would implement a mechanism to retry if the image download fails? In my example, down in the errorWidget > GestureDetector > onTap section.

@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 Answers
Related