You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter使用CachedNetworkImage报Invalid Argument红屏错误如何解决

报错原因
  • 该报错是因为你使用的cached_network_image 3.0及以上版本,对错误回调的参数签名有严格校验要求,要求错误处理器必须接收至少1个Object类型的参数,或1个Object加1个Stacktrace类型的参数,你当前代码中存在不符合该要求的无参闭包被作为错误处理器传入,触发了校验。
  • 少数情况下是全局ErrorWidget.builder的参数签名不符合Flutter新版SDK要求,连带触发该报错。
解决方法
  1. 首先调整你贴出的图片加载代码,给所有回调参数明确指定类型,保证符合参数要求,修改后代码如下:
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';

Widget cachedNetworkImage(String mediaUrl) {
  return CachedNetworkImage(
    imageUrl: mediaUrl,
    fit: BoxFit.cover,
    placeholder: (BuildContext context, String url) => Padding(
      child: CircularProgressIndicator(),
      padding: EdgeInsets.all(20.0),
    ),
    errorWidget: (BuildContext context, String url, dynamic error) => Icon(Icons.error),
  );
}
  1. 若修改后仍报错,检查pubspec.yaml中cached_network_image的版本,执行命令升级到最新稳定版:
    flutter pub upgrade cached_network_image
  2. 若问题还存在,排查项目中所有全局错误处理配置,确保所有onError回调都符合参数要求,没有无参闭包被作为错误处理器使用。

内容的提问来源于stack exchange,提问作者Tyler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:30:04