加载程序包引发异常

时间:2019-10-21 09:36:11

标签: flutter

我正在使用加载包在获取某些数据时显示加载屏幕。看来效果很好,但是我在控制台中看到以下错误:

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: 'package:flutter/src/animation/animation_controller.dart': Failed assertion: line 671 pos 7: '_ticker != null': AnimationController.animateWith() called after AnimationController.dispose()

在调用dispose之后不应使用AnimationController方法。

  Widget getLoadingBar() {
    return new Container(

      color: Colors.blue
      child: Center(
        child: Loading(indicator: BallPulseIndicator(), size: 100.0),
      ),
    );
  }
return MaterialApp(
        home: Scaffold(
            body: Container(
                decoration: BoxDecoration(
                  gradient: new LinearGradient(colors: [Colors.yellow,    Colors.blue, Colors.red, Colors.yellow], begin: Alignment.topCenter, end: Alignment.bottomCenter, tileMode: TileMode.clamp),
                ),
                child: dataFetched ? getContent() : getLoadingBar(),
            )
        ),
      );

异步获取完成后,setState调用中的dataFetched bool设置为true。

预先感谢

1 个答案:

答案 0 :(得分:0)

1。您必须处置自己的AnimationController或任何其他控制器。

void dispose(){
  _animationController.dispose(); 
}

2。如果您在程序中调用setState,则将其包装成这样。

 if(this.mounted){
   setState((){
      // your code .....
   });