Flutter更新版本导致TabController的Scrol

2021-04-12  本文已影响0人  碧桃鹦鹉

channel从master改到stable,版本升级到2.0.4,之前版本好像是1.9.7左右。然后运行项目报错。界面上用了一个Tab控件,Tab的TabController报错 ,报错内容为Null check operator used on a null value,报错代码指向了:

_tabController = TabController(
      length: groupListList.length,
      vsync: ScrollableState(),
    );

ScrollableState内部报错,指向378行

ScrollPosition get position => _position!;

因为_position为空。找了半天也没有找到为什么没人给他赋值。推测原因是不同版本Flutter写法变更;TabController的vsync字段是需要传入一个TickerProvider类型,原来的ScrollableState虽然mixin了TickerProvider,但是可能在构建过程中_position没有赋值导致空指针。所以尝试vsync赋值为this,让本身的State类mixin TickerProvider。测试是可以通过的。

上一篇 下一篇

猜你喜欢

热点阅读