質問編集履歴

3

説明の改善

2023/02/24 13:50

投稿

nugio.kutusita
nugio.kutusita

スコア21

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

状況説明の追記

2023/02/24 13:48

投稿

nugio.kutusita
nugio.kutusita

スコア21

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

誤字

2023/02/24 13:32

投稿

nugio.kutusita
nugio.kutusita

スコア21

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){