title: ScrollController.jumpTo() "ScrollController not attached to any scroll views"
body: <p>I am listening to a PageController to get the position and then syncing it with a ListView. When the PageView is manipulated the ListView is simultaneously manipulated. </p>
  
  <p>Example: <a href="https://github.com/Ramotion/cardslider-android" rel="noreferrer">https://github.com/Ramotion/cardslider-android</a></p>
  
  <p>However, after v0.6.0 I get an assertion error that my ScrollController is not attached to any views. This fires every time there is a stream event triggering the <code>.jumpTo()</code> method. It still works but the assertion error is driving me nuts.</p>
  
  <pre><code>[VERBOSE-2:shell.cc(181)] Dart Error: Unhandled exception:
  'package:flutter/src/widgets/scroll_controller.dart': Failed assertion: line 169 pos 12: '_positions.isNotEmpty': ScrollController not attached to any scroll views.
  #0      _AssertionError._doThrowNew (dart:core/runtime/liberrors_patch.dart:40:39)
  #1      _AssertionError._throwNew (dart:core/runtime/liberrors_patch.dart:36:5)
  #2      ScrollController.jumpTo (package:flutter/src/widgets/scroll_controller.dart:169:12)
  #3      MyTitle.build.&lt;anonymous closure&gt; (file:///Users/lukepighetti/code/when-coin/when_coin_2/lib/screens/rate/widgets/title.dart:19:19)
  #4      _RootZone.runUnaryGuarded (dart:async/zone.dart:1314:10)
  #5      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:336:11)
  #6      _DelayedData.perform (dart:async/stream_impl.dart:584:14)
  #7      _StreamImplEvents.handleNext (dart:async/stream_impl.dart:700:11)
  #8      _PendingEvents.schedule.&lt;anonymous closure&gt; (dart:async/stream_impl.dart:660:7)
  #9      _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
  #10     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
  </code></pre>
  
  <p>How do I use <code>ScrollController.jumpTo()</code> without running into this exception?</p>
  
  <pre><code>class MyTitle extends StatelessWidget {
    final List&lt;Category&gt; categories;
    MyTitle({this.categories});
  
    @override
    Widget build(BuildContext context) {
      final _controller = ScrollController();
      double height = 36.0;
      // double width = MediaQuery.of(context).size.width * 0.8;
  
      BlocProvider.of(context).page.listen((page) {
        _controller.jumpTo(height * page);
      });
  
      return Container(
        height: height,
        // width: width,
        child: ListView(
          controller: _controller,
          scrollDirection: Axis.vertical,
          physics: NeverScrollableScrollPhysics(),
          children: categories
              .map((c) =&gt; _Title(
                    title: c.title,
                    index: categories.indexOf(c),
                  ))
              .toList(),
        ),
      );
    }
  }
  </code></pre>