diff --git a/app/lib/pages/speech_profile/page.dart b/app/lib/pages/speech_profile/page.dart index 1fb7fe5f6a..82a90a53dd 100644 --- a/app/lib/pages/speech_profile/page.dart +++ b/app/lib/pages/speech_profile/page.dart @@ -72,6 +72,7 @@ class _SpeechProfilePageState extends State with TickerProvid @override void dispose() { + _scrollController.dispose(); _questionAnimationController.dispose(); super.dispose(); } @@ -79,14 +80,16 @@ class _SpeechProfilePageState extends State with TickerProvid final ScrollController _scrollController = ScrollController(); void scrollDown() async { - if (_scrollController.hasClients) { - await Future.delayed(const Duration(milliseconds: 250)); - _scrollController.animateTo( - _scrollController.position.maxScrollExtent, - duration: const Duration(milliseconds: 200), - curve: Curves.easeOut, - ); - } + await Future.delayed(const Duration(milliseconds: 250)); + + if (!mounted) return; + if (_scrollController.positions.isEmpty) return; + + _scrollController.animateTo( + _scrollController.position.maxScrollExtent, + duration: const Duration(milliseconds: 200), + curve: Curves.easeOut, + ); } @override