Flutter 每次颤振图像小部件都会进入errorBuilder函数

Flutter 每次颤振图像小部件都会进入errorBuilder函数,flutter,Flutter,我正在使用图像小部件和errorBuilder,只要错误发生一次,它就会在此后每次进入errorBuilder,无论它是否包含错误,我只想在错误发生时进入errorBuilder class GirlWidgetState extends State<GirlWidget> { String _imgUrl = "https://uploadbeta.com/api/pictures/random/?key=%E6%8E%A8%E5%A5%B3%E9%83%8E&am

我正在使用图像小部件和errorBuilder,只要错误发生一次,它就会在此后每次进入errorBuilder,无论它是否包含错误,我只想在错误发生时进入errorBuilder

class GirlWidgetState extends State<GirlWidget> {

  String _imgUrl = "https://uploadbeta.com/api/pictures/random/?key=%E6%8E%A8%E5%A5%B3%E9%83%8E&random=96831";

  void refreshGirl() {
    print('触发刷新动作');
    var rmd = new Random();
    setState(() {
      _imgUrl = 'https://uploadbeta.com/api/pictures/random/?key=%E6%8E%A8%E5%A5%B3%E9%83%8E&random=${rmd.nextInt(100000)}';
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('看个美女APP'),
      ),
      body: Container(
        child: Image.network(_imgUrl,loadingBuilder: (BuildContext context,Widget child,ImageChunkEvent chunkEvent){
          if(chunkEvent==null) {
            return child;
          }
          return Center(
            child: CircularProgressIndicator(
              value: chunkEvent.expectedTotalBytes!=null ? chunkEvent.cumulativeBytesLoaded/chunkEvent.expectedTotalBytes : null
            ),
          );

        },errorBuilder: (BuildContext context,Object info,StackTrace stackTrace) {

          return Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                Text('图片加载失败',style: TextStyle(
                  fontSize: 24
                ),),
                Icon(Icons.error,color: Colors.red,)
              ],
            )
          );
        },)
      ),
      floatingActionButton: FloatingActionButton(
        tooltip: '换一张',
        child: Icon(Icons.autorenew),
        onPressed: refreshGirl,
      ),
    );
  }
}
类GirlWidgetState扩展状态{
字符串_imgUrl=”https://uploadbeta.com/api/pictures/random/?key=%E6%8E%A8%E5%A5%B3%E9%83%8E&random=96831";
虚空女孩(){
打印('触发刷新动作');
var rmd=新的随机变量();
设置状态(){
_伊姆古尔https://uploadbeta.com/api/pictures/random/?key=%E6%8E%A8%E5%A5%B3%E9%83%8E&random=${rmd.nextInt(100000)}';
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本('看个美女APP'),
),
主体:容器(
子项:Image.network(_imgUrl,loadingBuilder:(BuildContext上下文,小部件子项,ImageChunkEvent chunkEvent){
if(chunkEvent==null){
返回儿童;
}
返回中心(
子对象:循环压缩机指示器(
值:chunkEvent.expectedTotalBytes!=null?chunkEvent.CumulativeBytes加载/chunkEvent.expectedTotalBytes:null
),
);
},errorBuilder:(构建上下文,对象信息,堆栈跟踪堆栈跟踪){
返回中心(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
文本('图片加载失败',样式:TextStyle(
字体大小:24
),),
图标(图标。错误,颜色:Colors.red,)
],
)
);
},)
),
浮动操作按钮:浮动操作按钮(
工具提示:'换一张',
子:图标(Icons.autorenew),
记者:女孩,
),
);
}
}

add
print(info)
在呼叫
退货中心之前(…
)-您在日志上看到了什么?哦,对不起。此界面总是返回503,谢谢!您的欢迎:
503服务不可用
在呼叫
退货中心之前添加
print(info)
(…
-您在日志上看到了什么?哦,对不起。此界面总是返回503,谢谢!欢迎:
503服务不可用