Skip to content

NestedScrollView throws exception caused by type mismatch #10925

@najeira

Description

@najeira

I tried to scroll NestedScrollView using by ScrollController.animateTo, then I got this exception:

══╡ EXCEPTION CAUGHT BY GESTURE ╞══
The following assertion was thrown while handling a gesture:
type '_Future<List>' is not a subtype of type 'Future<Null>' of 'function result' where
  _Future is from dart:async
  List is from dart:core
  Future is from dart:async
  Null is from dart:core
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
When the exception was thrown, this was the stack:
#0      _NestedScrollCoordinator.animateTo (package:flutter/src/widgets/nested_scroll_view.dart:429:19)
#1      _NestedScrollPosition.animateTo (package:flutter/src/widgets/nested_scroll_view.dart:711:24)
#2      ScrollController.animateTo (package:flutter/src/widgets/scroll_controller.dart:147:37)
#3      scrollToTop (package:myapp/widget/app_bar_title.dart:6:22)
#4      MyTabBar.onTapDown (package:myapp/page/home.dart:260:9)
#5      MyTabBar.build.<anonymous closure> (package:myapp/page/home.dart:244:9)
#6      TapGestureRecognizer._checkDown.<anonymous closure> (package:flutter/src/gestures/tap.dart:138:57)
#7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:71:24)
#8      TapGestureRecognizer._checkDown (package:flutter/src/gestures/tap.dart:138:9)
#9      TapGestureRecognizer.didExceedDeadline (package:flutter/src/gestures/tap.dart:110:5)
#11     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:366)
#12     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:394)
#13     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
(elided one frame from package dart:async-patch)
Handler: onTapDown
Recognizer:
  TapGestureRecognizer#f82c9(GestureRecognizerState.possible)
═════════════════════

_NestedScrollCoordinator.animateTo's return statement is this:

return Future.wait<Null>(resultFutures);

Future.wait returns Future<List<Null>> but animateTo should return Future<Null>;

Flutter Doctor

[✓] Flutter (on Mac OS X 10.12.5 16F73, locale ja-JP, channel master)
    • Flutter at /Applications/flutter
    • Framework revision 0426fb60b9 (3 hours ago), 2017-06-22 17:57:59 -0700
    • Engine revision b0dee695ec
    • Tools Dart version 1.24.0-dev.6.7

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.3)
    • Android SDK at /Users/najeira/Library/Android/sdk
    • Platform android-25, build-tools 25.0.3
    • ANDROID_HOME = /Users/najeira/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] iOS toolchain - develop for iOS devices (Xcode 8.3.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 8.3.3, Build version 8E3004b
    • ios-deploy 1.9.1
    • CocoaPods version 1.2.1

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Gradle version 3.2
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Ultimate Edition (version 2017.1.4)
    • Flutter plugin version 14.0
    • Dart plugin version 171.4694.29

Metadata

Metadata

Assignees

Labels

customer: posse (eap)f: scrollingViewports, list views, slivers, etc.frameworkflutter/packages/flutter repository. See also f: labels.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions