fluttercandies / extended_nested_scroll_view

extended nested scroll view to fix following issues. 1.pinned sliver header issue 2.inner scrollables in tabview sync issue 3.pull to refresh is not work. 4.do without ScrollController in NestedScrollView's body
MIT License
591 stars 117 forks source link

_NestedScrollPosition.setScrollPositionKey 状态异常,报错 _CastError Null check operator used on a null value #77

Closed yrom closed 2 years ago

yrom commented 2 years ago

log:

#0 State.context (package:flutter/src/widgets/framework.dart:916)
#1 _NestedScrollPosition.setScrollPositionKey  (package:extended_nested_scroll_view/src/old_extended_nested_scroll_view.dart:1308)
#2 _NestedScrollController.attachScrollPositionKey (package:extended_nested_scroll_view/src/old_extended_nested_scroll_view.dart:1205)
#3 _NestedScrollController.attachScrollPositionKey.<anonymous closure> (package:extended_nested_scroll_view/src/old_extended_nested_scroll_view.dart:1216)
#4 new Future.delayed.<anonymous closure> (dart:async/future.dart:315)
#12 SemanticsConfiguration._addArgumentlessAction.<anonymous closure> (package:flutter/src/semantics/semantics.dart:2881)
#13 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:395)
#14 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:426)
#15 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184)

经查,有一个延时Future, https://github.com/fluttercandies/extended_nested_scroll_view/blob/b52f9f28f9247150bfd07a7956fdea5fa2e3f496/lib/src/old_extended_nested_scroll_view.dart#L1215-L1217

但 500ms 后 widget 可能已经dispose,此时

https://github.com/fluttercandies/extended_nested_scroll_view/blob/b52f9f28f9247150bfd07a7956fdea5fa2e3f496/lib/src/old_extended_nested_scroll_view.dart#L1307-L1310

ScrollableState的context 已经为null