每次我離開頁面時,我的應用程式都會處理一個控制器,但是,我沒有初始化控制器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();
}
uj5u.com熱心網友回復:
一個簡單的解決方案可能是在初始化時將標志設定為 true,并在您的 dispose 方法中檢查它(我知道這應該是一個評論,但我沒有 50 個代表)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467988.html
