FlutterにはFutureBuilderという、Futureが完了状態じゃない時と完了した時とでUIを分岐させることができるウィジェットがある。しかし、なぜかいつまでたっても終わらない場合があった。
多分futureに指定しているメソッドがvoid ( Future ) 型だとダメな気がする。適当にbool型とかにしてtrueとかをreturnさせておけば正常に動いた。
body: FutureBuilder(
future: _futureMethod,
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasData) {
return Center(child: Text('Done'));
} else if (snapshot.hasError) {
return Center(child: Text('Error'));
} else {
return Center(child: CircularProgressIndicator());
}
},
),
Future<bool> _futureMethod() {
someFunc();
return true;
}
↓connectionStateによるチェック方法なら値を返さなくてもいけました。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント