每次我离开页面时,我的应用程序都会处理一个控制器,但是,我没有初始化控制器initState()
并正在初始化它onTap
,所以我想知道是否可以检查控制器是否已初始化以确定它是否应该处理它或不。
控制器是:
VideoPlayerController _controller;
我在一个之后初始化它onTap
:
onTap: () {
setState(() {
_initVideo(file);
});
}
_initVideo(Future<File> videoFile) async {
final video = await videoFile;
_controller = VideoPlayerController.file(video)
..setLooping(false)
..initialize().then((value) => setState(() {
_controller.addListener(() {
setState(() {
});
});
}));
}
对于 dispose 我正在尝试检查 是否VideoController
已初始化,如果已初始化,则dispose()
不要。
@override
void dispose() {
_controller.dispose();
super.dispose();
}
一个简单的解决方案可能是在初始化时将标志设置为 true,并在您的 dispose 方法中检查它(我知道这应该是一个评论,但我没有 50 个代表)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句