|
|
发表于 2022-9-11 21:04:49
|
查看: 1121 |
回复: 0
最近用Flutter开发移动端App,遇到一个奇怪的问题:在NestedScrollView下用swiper组件展示banner,程序首次安装的时候会出现“ScrollController not attached to any scroll views”的警告:
1 D4 H9 ]. H1 X# G7 }9 X6 _7 xScrollController not attached to any scroll views.
. x& B) H1 K, d'package:flutter/src/widgets/scroll_controller.dart':5 I9 _1 {8 E) L7 E4 ]$ ^* b& T( K
Failed assertion: line 110 pos 12: '_positions.isNotEmpty'.通过逐个移除子部件定位到了问题,但神奇的是只会出现在安装后的首次运行,关闭后再运行不会报错,程序运行一切正常。
) y2 C0 V9 p9 i2 v" n; K( y这个bug实际使用中影响不大,但作为一个有点强迫症的人,不解决掉总不踏实。Google几天后,终于在一个网站上找到解决方案:将banner widge的key从字符串常量换成UniqueKey():0 k6 k1 O! [6 ]/ Z2 t2 H& x0 k
child: Swpier(
?1 `- `7 k7 k* n; c key: UniqueKey(), {" v- F7 x9 \+ ^# S
...至此问题解决,但为何用UniqueKey就可以,仍然未知…检查了代码,确认之前的字符串常量在代码中也是唯一的!! v/ r0 C, a) F( L* _- S: G
本次解决问题过程中,发现一个神奇的网站:programmersought.com。为什么说神奇呢,首先网站的内容都是采集自国内技术网站,然后翻译成英文;其次网站屏蔽了国内ip访问;最后你会发现翻译的英文质量很不错,读起来还比较地道!- B$ u% M' E3 f6 w& M( _
中文互联网上有许多采集网站,技术领域不少都是采集StackOverflow然后翻译成中文。这次看到采集中文翻译成比较地道的英文,还是比较惊讶的,算得上是一种文化输出吧。0 X$ d; i/ b0 S8 M5 H
参考1. 使用uBlacklist净化谷歌搜索结果
: L. J+ ]6 l& R9 Q* ~+ W. \AD:【加速器推荐】 搬瓦工官方代理服务Just My Socks,高速CN2 GIA线路流畅访问外网,被墙自动更换IP打赏赞(1) |
|