diff --git a/lib/pages/video/detail/widgets/header_control.dart b/lib/pages/video/detail/widgets/header_control.dart index c81d46cd..9a1b6b02 100644 --- a/lib/pages/video/detail/widgets/header_control.dart +++ b/lib/pages/video/detail/widgets/header_control.dart @@ -189,8 +189,10 @@ class HeaderControlState extends State { ), ListTile( dense: true, - onTap: () => - {Get.back(), Utils.scheduleExit(context, isFullScreen)}, + onTap: () => { + Get.back(), + Utils.scheduleExit(this.context, isFullScreen) + }, leading: const Icon(Icons.hourglass_top_outlined, size: 20), title: const Text('定时关闭', style: titleStyle), ), diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index cec1ed5f..179893ae 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -104,7 +104,11 @@ class Utils { } /// 定时关闭 - static void scheduleExit(context, isFullScreen, [bool isLive = false]) { + static void scheduleExit(BuildContext context, isFullScreen, + [bool isLive = false]) { + if (!context.mounted) { + return; + } const List scheduleTimeChoices = [0, 15, 30, 45, 60]; const TextStyle titleStyle = TextStyle(fontSize: 14); if (isLive) { @@ -567,6 +571,9 @@ class Utils { required Function isFullScreen, double? padding, }) { + if (!context.mounted) { + return; + } Get.generalDialog( barrierLabel: '', barrierDismissible: true,