Flutter使用SingleTickerProviderStateMixin報(bào)錯(cuò)解決
設(shè)置TabController
最近在學(xué)習(xí)開(kāi)發(fā)Flutter應(yīng)用項(xiàng)目,在創(chuàng)建tabbar和tabview后,進(jìn)行網(wǎng)絡(luò)請(qǐng)求后顯示頂部tab標(biāo)簽,設(shè)置TabController,并使class類實(shí)現(xiàn)SingleTickerProviderStateMixin,代碼如下
class _TravelPageState extends State<TravelPage> with SingleTickerProviderStateMixin{ TabController _tabController; TravelTabModel travelTabModel; List<TravelTab> tabs = []; @override void initState() { _tabController = TabController(length: 0, vsync: this); TravelTabDao.fetch().then((TravelTabModel model){ print(model); _tabController = TabController(length: model.tabs.length, vsync: this); setState(() { tabs = model.tabs; travelTabModel = model; }); }).catchError((e){ print(e); }); super.initState(); }
報(bào)錯(cuò)
運(yùn)行代碼后模擬器沒(méi)有顯示tab標(biāo)簽文字,且報(bào)如下錯(cuò)誤
flutter: is a SingleTickerProviderStateMixin but multiple tickers were created.
A SingleTickerProviderStateMixin can only be used as a TickerProvider once.
If a State is used for multiple AnimationController objects, or if it is passed to other objects and those objects might use it more than one time in total, then instead of mixing in a SingleTickerProviderStateMixin, use a regular TickerProviderStateMixin.
分析解決
如上報(bào)錯(cuò),原因是多個(gè)地方調(diào)用setState請(qǐng)求重繪,但是state使用的是SingleTickerProviderStateMixin ,將其改成TickerProviderStateMixin即可。
將上述代碼進(jìn)行修改如下:
class _TravelPageState extends State<TravelPage> with SingleTickerProviderStateMixin
修改為:
class _TravelPageState extends State<TravelPage> with TickerProviderStateMixin
修改完成后,重新運(yùn)行項(xiàng)目即可。
以上就是Flutter使用SingleTickerProviderStateMixin報(bào)錯(cuò)解決的詳細(xì)內(nèi)容,更多關(guān)于Flutter SingleTickerProviderStateMixin的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android編程實(shí)現(xiàn)TCP客戶端的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)TCP客戶端的方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)TCP客戶端的原理及數(shù)據(jù)通信的相關(guān)技巧,需要的朋友可以參考下2016-04-04Android ScrollView顯示到底部或任意位置實(shí)現(xiàn)代碼
這篇文章主要介紹了 Android ScrollView顯示到底部或任意位置實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Android波紋擴(kuò)散效果之仿支付寶咻一咻功能實(shí)現(xiàn)波紋擴(kuò)散特效
這篇文章主要介紹了Android波紋擴(kuò)散效果之仿支付寶咻一咻功能實(shí)現(xiàn)波紋擴(kuò)散特效的相關(guān)資料,需要的朋友可以參考下2016-02-02詳解Android App卸載后跳轉(zhuǎn)到指定的反饋?lái)?yè)面的方法
這篇文章主要介紹了Android App卸載后跳轉(zhuǎn)到指定的反饋?lái)?yè)面的方法,關(guān)鍵點(diǎn)是相關(guān)線程要判斷在目錄被消除以前作出響應(yīng),需要的朋友可以參考下2016-04-04Android的Launcher啟動(dòng)器中添加快捷方式及小部件實(shí)例
這篇文章主要介紹了在Android的Launcher啟動(dòng)器中添加快捷方式及窗口小部件的方法,包括在自己的應(yīng)用程序中添加窗口小部件AppWidget的例子,需要的朋友可以參考下2016-02-02Android圖片處理:識(shí)別圖像方向并顯示實(shí)例教程
在Android中使用ImageView顯示圖片的時(shí)候發(fā)現(xiàn)圖片顯示不正,方向偏了或者倒過(guò)來(lái)了,下面與大家分享下具體的解決方法,感性的朋友可以參考下2013-06-06Android學(xué)習(xí)系列一用按鈕實(shí)現(xiàn)顯示時(shí)間
這篇文章主要介紹了Android學(xué)習(xí)系列一用按鈕實(shí)現(xiàn)顯示時(shí)間的相關(guān)資料,需要的朋友可以參考下2016-05-05