我有一个工作正常的滚动视图,但是当操作完成并返回到家乡时,它会抛出一个错误,并且滚动视图不再是可执行的。
控制台错误:
======== Exception caught by gesture ===============================================================
The following assertion was thrown while handling a gesture: ScrollController attached to multiple scroll views. 'package:flutter/src/widgets/scroll_controller.dart': Failed assertion: line 108 pos 12: '_positions.length == 1'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause. In either case, please report this assertion by filing a bug on GitHub: https://github.com/flutter/flutter/issues/new?template=2_bug.md
When the exception was thrown, this was the stack:
#2 ScrollController.position (package:flutter/src/widgets/scroll_controller.dart:108:12)
#3 PageController.animateToPage (package:flutter/src/widgets/page_view.dart:197:41)
#4 ServicesProvider.selectCategory (package:agenda_booking/providers/servides_provider.dart:73:21)
#5 _CategoriesCarousel.build.. (package:agenda_booking/pages/home_page.dart:212:45)
#6 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:1005:21)
#7 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:198:24)
#8 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:613:11)
#9 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:298:5)
#10 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:269:7)
#11 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:157:27)
#12 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:449:20)
#13 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:425:22)
#14 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:329:11)
#15 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:380:7)
#16 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:344:5)
#17 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:302:7)
#18 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:285:7)
#22 _invoke1 (dart:ui/hooks.dart:170:10)
#23 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:331:7)
#24 _dispatchPointerDataPacket (dart:ui/hooks.dart:94:31) (elided 5 frames from class _AssertionError and dart:async) Handler: "onTap" Recognizer: TapGestureRecognizer#340e5 debugOwner: GestureDetector state: ready won arena finalPosition: Offset(105.0, 340.0) finalLocalPosition: Offset(20.0, 42.0) button: 1 sent tap down.

发布于 2022-08-30 18:42:02
这是因为您已经将相同的ScrollController附加到多个滚动位置。如果你能让我知道你实现了滚动控制器的代码,我会有更多的帮助。此外,您还可以在这里查阅关于https://api.flutter.dev/flutter/widgets/ScrollController-class.html和scrollPosition控制器的官方文档。
https://stackoverflow.com/questions/73543940
复制相似问题