回答編集履歴

2

checkactofkoma_subfunc_promoteは表示だけをする関数になったので、voidへ変更しました

2017/02/15 02:16

投稿

mingos
mingos

スコア4025

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  //成るかならないかを決めてもらう関数
50
50
 
51
- public int checkactofkoma_subfunc_promote(MainActivity mainActivity)
51
+ public void checkactofkoma_subfunc_promote(MainActivity mainActivity)
52
52
 
53
53
  {
54
54
 

1

ダイアログの表示についての回答は関係なかったので、処理の流れに関する回答へ修正します

2017/02/15 02:16

投稿

mingos
mingos

スコア4025

test CHANGED
@@ -1,27 +1,85 @@
1
- 1つ気になったのは、create()を呼び出していないです。
1
+ さきほど回答ダイアログ表示とは関係ない、処理の流れについての回答に変更させて頂きます。
2
2
 
3
- とりあえずこちらを試してもらって良でしょう
3
+ ダイアログの表示は非同期なので、いつ表示されるは分かりません。
4
+
5
+ なので、ダイアログの「はい」「いいえ」の各ボタンが押された時にそれぞれ対応するメソッドを呼ぶ形にしたほうが良いと思います。
4
6
 
5
7
 
6
8
 
7
9
  ```java
8
10
 
9
- ...
11
+ public int promote_user_ans = 0;
10
12
 
11
- public void checkactofkoma_subfunc_promote_display(MainActivity mainActivity)
13
+ public void checkactofkoma_subfunc_promote_display(MainActivity mainActivity)
12
14
 
13
15
  {
14
16
 
15
17
  AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity);
16
18
 
17
- ...
19
+ builder.setMessage("成りますか")
18
20
 
19
- // builder.show();
21
+ .setPositiveButton("はい", new DialogInterface.OnClickListener() {
20
22
 
23
+ public void onClick(DialogInterface dialog, int id) {
24
+
25
+ onPromote();
26
+
27
+ }
28
+
29
+ })
30
+
31
+ .setNegativeButton("いいえ", new DialogInterface.OnClickListener() {
32
+
33
+ public void onClick(DialogInterface dialog, int id) {
34
+
35
+ onCancelPromote();
36
+
37
+ }
38
+
39
+ });
40
+
21
- builder.create().show();
41
+ builder.show();
42
+
43
+ //ここで表示されてない
22
44
 
23
45
  }
24
46
 
47
+
48
+
49
+ //成るかならないかを決めてもらう関数
50
+
51
+ public int checkactofkoma_subfunc_promote(MainActivity mainActivity)
52
+
25
- ...
53
+ {
54
+
55
+ Log.d("promote check","promote check");
56
+
57
+ //display
58
+
59
+ checkactofkoma_subfunc_promote_display(mainActivity);
60
+
61
+ }
62
+
63
+
64
+
65
+ void onPromote() {
66
+
67
+ Log.d("promote check","yes");
68
+
69
+ promote_user_ans = 1;
70
+
71
+ }
72
+
73
+
74
+
75
+ void onCancelPromote() {
76
+
77
+ Log.d("promote check","no");
78
+
79
+ promote_user_ans = -1;
80
+
81
+ }
82
+
83
+
26
84
 
27
85
  ```