質問編集履歴
3
説明の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,9 +22,11 @@
|
|
22
22
|
というつもりで書いているのですが、
|
23
23
|
実際に動かすと、プログレスサークルが出ません。
|
24
24
|
|
25
|
-
|
26
25
|
なぜawait関数の前にsetState→再描画が動かないのでしょうか?
|
27
26
|
問題点があればご教示お願い致します。
|
27
|
+
|
28
|
+
補足:await generateSupply();の中身は、200ほどのマスタデータからランダムで10点抽出し、
|
29
|
+
それが条件を満たしているかどうか調べる、という行為を最大20000回までループするものです。
|
28
30
|
|
29
31
|
### 試したこと
|
30
32
|
|
@@ -32,13 +34,11 @@
|
|
32
34
|
AlertDialogが出て、閉じた後にプログレスサークルが表示されました。
|
33
35
|
|
34
36
|
・元の関数await generateSupply();の代わりにawait Future.delayed(Duration(seconds: 3));を入れると、
|
35
|
-
狙い通りにプログレスサークルが表示されました。
|
37
|
+
3秒間、狙い通りにプログレスサークルが表示されました。
|
36
38
|
|
37
39
|
・元の関数await generateSupply();の前にawait Future.delayed(Duration(seconds: 3));を入れると、
|
38
40
|
3秒間サークルが出た後、generateSupply();が動いている間サークルが止まる挙動になりました。
|
39
41
|
|
40
|
-
補足:await generateSupply();の中身は、200ほどのマスタデータからランダムで10点抽出し、
|
41
|
-
それが条件を満たしているかどうか調べる、という行為を最大20000回までループするものです。
|
42
42
|
|
43
43
|
### 該当のソースコード
|
44
44
|
|
2
状況説明の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,11 +22,23 @@
|
|
22
22
|
というつもりで書いているのですが、
|
23
23
|
実際に動かすと、プログレスサークルが出ません。
|
24
24
|
|
25
|
-
setState(() { showProgress=false;});をなくすと、
|
26
|
-
AlertDialogが出て、閉じた後にプログレスサークルが表示されます。
|
27
25
|
|
28
26
|
なぜawait関数の前にsetState→再描画が動かないのでしょうか?
|
29
27
|
問題点があればご教示お願い致します。
|
28
|
+
|
29
|
+
### 試したこと
|
30
|
+
|
31
|
+
・setState(() { showProgress=false;});をなくすと、
|
32
|
+
AlertDialogが出て、閉じた後にプログレスサークルが表示されました。
|
33
|
+
|
34
|
+
・元の関数await generateSupply();の代わりにawait Future.delayed(Duration(seconds: 3));を入れると、
|
35
|
+
狙い通りにプログレスサークルが表示されました。
|
36
|
+
|
37
|
+
・元の関数await generateSupply();の前にawait Future.delayed(Duration(seconds: 3));を入れると、
|
38
|
+
3秒間サークルが出た後、generateSupply();が動いている間サークルが止まる挙動になりました。
|
39
|
+
|
40
|
+
補足:await generateSupply();の中身は、200ほどのマスタデータからランダムで10点抽出し、
|
41
|
+
それが条件を満たしているかどうか調べる、という行為を最大20000回までループするものです。
|
30
42
|
|
31
43
|
### 該当のソースコード
|
32
44
|
|
1
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
・最初の画面で条件を設定
|
6
6
|
・ボタンを押すと設定をもとにランダムで条件に合う組み合わせ(リスト)を生成
|
7
7
|
→・条件に合う組み合わせが作れない(存在しない)場合は、アラートダイアログを表示
|
8
|
-
・条件に合う組み合わせができたら、次画面で生成結果を表示
|
8
|
+
・条件に合う組み合わせができたら、次画面で生成結果を表示
|
9
9
|
・ランダム生成の関数が動いている間、CircularProgressIndicatorを表示
|
10
10
|
|
11
11
|
ということがしたいです。
|
@@ -43,7 +43,6 @@
|
|
43
43
|
floatingActionButton: FloatingActionButton(
|
44
44
|
onPressed: ()async{
|
45
45
|
setState(() {showProgress=true;});
|
46
|
-
print(showProgress);
|
47
46
|
await generateSupply(); //この中で20000回試行し、できなければtimeOver=true;
|
48
47
|
setState(() {showProgress=false;});
|
49
48
|
if (timeOver){
|