Flutter使用SingleTickerProviderStateMixin報(bào)錯(cuò)解決
設(shè)置TabController
最近在學(xué)習(xí)開發(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)行代碼后模擬器沒有顯示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補(bǔ)間動(dòng)畫的實(shí)現(xiàn)示例
本文主要介紹了Android補(bǔ)間動(dòng)畫的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
python gstreamer實(shí)現(xiàn)視頻快進(jìn)/快退/循環(huán)播放功能
這篇文章主要介紹了python gstreamer 實(shí)現(xiàn)視頻快進(jìn)/快退/循環(huán)播放功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Android實(shí)現(xiàn)文字滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)文字滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Android 掃描附近的藍(lán)牙設(shè)備并連接藍(lán)牙音響的示例
本篇文章主要介紹了Android 掃描附近的藍(lán)牙設(shè)備并連接藍(lán)牙音響的示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09
PowerManagerService之自動(dòng)滅屏流程解析
這篇文章主要為大家介紹了PowerManagerService之自動(dòng)滅屏流程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
android 檢查網(wǎng)絡(luò)連接狀態(tài)實(shí)現(xiàn)步驟
android 如何檢查網(wǎng)絡(luò)連接狀態(tài),是android開發(fā)中一個(gè)常見的問題,本文將介紹如何實(shí)現(xiàn),需要的朋友可以參考下2012-12-12

