質問編集履歴

5

書式の改善

2016/09/04 12:01

投稿

ryochinn
ryochinn

score0

test CHANGED
File without changes
test CHANGED
@@ -34,10 +34,6 @@
34
34
 
35
35
 
36
36
 
37
- ```ここに言語を入力
38
-
39
- ```ここに言語を入力
40
-
41
37
  package jp.androidbook.optionmenu;
42
38
 
43
39
 
@@ -66,21 +62,15 @@
66
62
 
67
63
  public class MainActivity extends AppCompatActivity {
68
64
 
69
- static final String MENU_ITEM = "menu item";
65
+
70
-
71
-
72
66
 
73
67
  static final String CHECKBOX_TEST = "checkbox button";
74
68
 
75
- //文字stringを用いて、"menu item"という文字をプログラム内でMENU_ITEMとして表記
69
+
76
-
77
- int selectedItem = 0;
78
-
79
- //ラジオボタンの選択された選択肢の番号を保管するint
80
70
 
81
71
  boolean[] selectedItems = {false, false, false};
82
72
 
83
- //チェックボックスの選ばれた選択肢がどちらかを保管するboolean
73
+
84
74
 
85
75
 
86
76
 
@@ -116,9 +106,7 @@
116
106
 
117
107
 
118
108
 
119
- //オプションメニューの作成 menu.addで加えたものが文字として出る
109
+
120
-
121
- //public boolean onCreateOptionsMenu(Menu menu)はjava内で作るオプションメニュー
122
110
 
123
111
  @Override
124
112
 

4

自分用のメモを削除

2016/09/04 11:59

投稿

ryochinn
ryochinn

score0

test CHANGED
File without changes
test CHANGED
@@ -10,6 +10,8 @@
10
10
 
11
11
  何卒宜しくお願い致します。
12
12
 
13
+ 追記:チェックボックス以外の部分はすべて削除しました。
14
+
13
15
  ![イメージ説明](232ba5accbbf4c86792c782fff546255.jpeg)
14
16
 
15
17
  ###発生している問題・エラーメッセージ
@@ -34,6 +36,8 @@
34
36
 
35
37
  ```ここに言語を入力
36
38
 
39
+ ```ここに言語を入力
40
+
37
41
  package jp.androidbook.optionmenu;
38
42
 
39
43
 
@@ -64,21 +68,19 @@
64
68
 
65
69
  static final String MENU_ITEM = "menu item";
66
70
 
67
- static final String BUTTON_TEST = "button";
71
+
68
-
69
- static final String RADIOBUTTON_TEST = "radio button";
70
72
 
71
73
  static final String CHECKBOX_TEST = "checkbox button";
72
74
 
73
-
75
+ //文字stringを用いて、"menu item"という文字をプログラム内でMENU_ITEMとして表記
74
76
 
75
77
  int selectedItem = 0;
76
78
 
77
-
79
+ //ラジオボタンの選択された選択肢の番号を保管するint
78
80
 
79
81
  boolean[] selectedItems = {false, false, false};
80
82
 
81
-
83
+ //チェックボックスの選ばれた選択肢がどちらかを保管するboolean
82
84
 
83
85
 
84
86
 
@@ -104,11 +106,7 @@
104
106
 
105
107
  getMenuInflater().inflate(R.menu.menu_main, menu);
106
108
 
107
- menu.add(MENU_ITEM);
109
+
108
-
109
- menu.add(BUTTON_TEST);
110
-
111
- menu.add(RADIOBUTTON_TEST);
112
110
 
113
111
  menu.add(CHECKBOX_TEST);
114
112
 
@@ -118,17 +116,23 @@
118
116
 
119
117
 
120
118
 
121
-
119
+ //オプションメニューの作成 menu.addで加えたものが文字として出る
120
+
121
+ //public boolean onCreateOptionsMenu(Menu menu)はjava内で作るオプションメニュー
122
122
 
123
123
  @Override
124
124
 
125
125
  public boolean onOptionsItemSelected(MenuItem item) {
126
126
 
127
+
128
+
129
+
130
+
127
- if (MENU_ITEM.equals(item.getTitle())) {
131
+ if (CHECKBOX_TEST.contentEquals(getTitle())) {
128
-
129
-
130
-
132
+
131
- final Activity list = this;
133
+ final Activity activity = this;
134
+
135
+
132
136
 
133
137
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
134
138
 
@@ -136,220 +140,58 @@
136
140
 
137
141
  final String[] items = {"ONE", "TWO", "THREE"};
138
142
 
139
- builder.setItems(items,
143
+ builder.setMultiChoiceItems( (CharSequence[])items, selectedItems,
140
-
144
+
141
- new DialogInterface.OnClickListener() {
145
+ new DialogInterface.OnMultiChoiceClickListener() {
142
-
143
-
144
146
 
145
147
  @Override
146
148
 
147
- public void onClick(DialogInterface dialogInterface, int i) {
149
+ public void onClick(DialogInterface dialogInterface, int i,
148
-
149
- Toast toast = Toast.makeText(list, items[i] + "を選択しました",
150
+
150
-
151
- Toast.LENGTH_LONG);
152
-
153
- toast.show();
151
+ boolean checked) {
152
+
153
+ selectedItems[i] = checked;
154
+
155
+
154
156
 
155
157
  }
156
158
 
157
159
  });
158
160
 
161
+ builder.setPositiveButton("OK!", new DialogInterface.OnClickListener() {
162
+
163
+ @Override
164
+
165
+ public void onClick(DialogInterface dialogInterface, int item) {
166
+
167
+ String result = "";
168
+
169
+ for (int i = 0; i < selectedItems.length; i++) {
170
+
171
+ if (selectedItems[i]) {
172
+
173
+ result += "".equals(result) ? "" : ",";
174
+
175
+ result += items[i];
176
+
177
+ }
178
+
179
+ }
180
+
181
+ Toast toast = Toast.makeText(activity, result + "を選択しました",
182
+
183
+ Toast.LENGTH_LONG);
184
+
185
+ toast.show();
186
+
187
+ }
188
+
189
+ });
190
+
159
191
  builder.show();
160
192
 
161
193
  }
162
194
 
163
-
164
-
165
- //リスト表示するAlertDialog
166
-
167
- else if (BUTTON_TEST.equals(item.getTitle())) {
168
-
169
- final Activity activity = this;
170
-
171
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
172
-
173
- builder.setTitle("ボタンオプション");
174
-
175
- builder.setMessage("アラートダイアログのボタン");
176
-
177
- builder.setPositiveButton("OK!",
178
-
179
- new DialogInterface.OnClickListener() {
180
-
181
- @Override
182
-
183
- public void onClick(DialogInterface dialogInterface, int i) {
184
-
185
- Toast toast = Toast.makeText(activity, "ダイアログを閉じました",
186
-
187
- Toast.LENGTH_LONG);
188
-
189
- toast.show();
190
-
191
- }
192
-
193
- });
194
-
195
- builder.setNegativeButton("NO!",
196
-
197
- new DialogInterface.OnClickListener() {
198
-
199
- @Override
200
-
201
- public void onClick(DialogInterface dialogInterface, int i) {
202
-
203
- Toast toast = Toast.makeText(activity, "キャンセルしました",
204
-
205
- Toast.LENGTH_LONG);
206
-
207
- toast.show();
208
-
209
- }
210
-
211
- });
212
-
213
- builder.show();
214
-
215
- }
216
-
217
- //ボタン式のalertDialog
218
-
219
-
220
-
221
- else if (RADIOBUTTON_TEST.equals(item.getTitle())) {
222
-
223
- final Activity activity = this;
224
-
225
-
226
-
227
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
228
-
229
- builder.setTitle("選択してください");
230
-
231
- final String[] items = {"ONE", "TWO", "THREE"};
232
-
233
- builder.setSingleChoiceItems(items, 0,
234
-
235
- new DialogInterface.OnClickListener() { //●
236
-
237
- //
238
-
239
- @Override
240
-
241
- public void onClick(DialogInterface dialogInterface, int i) {
242
-
243
-
244
-
245
- selectedItem = i;
246
-
247
-
248
-
249
- Toast toast = Toast.makeText(activity, items[i] + "でいいですか?",
250
-
251
- //itemsの中のi番目を指す(selectedItemを入れても変わらない?)
252
-
253
- Toast.LENGTH_SHORT);
254
-
255
- toast.show();
256
-
257
- }
258
-
259
- });
260
-
261
- builder.setPositiveButton("OK!", new DialogInterface.OnClickListener() {
262
-
263
- @Override
264
-
265
- public void onClick(DialogInterface dialogInterface, int i) {
266
-
267
- Toast toast = Toast.makeText(activity,
268
-
269
- items[selectedItem] + "を選択しました",
270
-
271
- Toast.LENGTH_LONG);
272
-
273
- toast.show();
274
-
275
- }
276
-
277
- });
278
-
279
- builder.show();
280
-
281
- }
282
-
283
-
284
-
285
- //チェックボックス式のダイアログボックス
286
-
287
-
288
-
289
- else if (CHECKBOX_TEST.equals(getTitle())) {
290
-
291
- final Activity activity = this;
292
-
293
-
294
-
295
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
296
-
297
- builder.setTitle("選択してください");
298
-
299
- final String[] items = {"ONE", "TWO", "THREE"};
300
-
301
- builder.setMultiChoiceItems( items, selectedItems,
302
-
303
- new DialogInterface.OnMultiChoiceClickListener() {
304
-
305
- @Override
306
-
307
- public void onClick(DialogInterface dialogInterface, int i,
308
-
309
- boolean checked) {
310
-
311
- selectedItems[i] = checked;
312
-
313
-
314
-
315
- }
316
-
317
- });
318
-
319
- builder.setPositiveButton("OK!", new DialogInterface.OnClickListener() {
320
-
321
- @Override
322
-
323
- public void onClick(DialogInterface dialogInterface, int item) {
324
-
325
- String result = "";
326
-
327
- for (int i = 0; i < selectedItems.length; i++) {
328
-
329
- if (selectedItems[i]) {
330
-
331
- result += "".equals(result) ? "" : ",";
332
-
333
- result += items[i];
334
-
335
- }
336
-
337
- }
338
-
339
- Toast toast = Toast.makeText(activity, result + "を選択しました",
340
-
341
- Toast.LENGTH_LONG);
342
-
343
- toast.show();
344
-
345
- }
346
-
347
- });
348
-
349
- builder.show();
350
-
351
- }
352
-
353
195
  return super.onOptionsItemSelected(item);
354
196
 
355
197
 
@@ -364,6 +206,10 @@
364
206
 
365
207
 
366
208
 
209
+ ```
210
+
211
+
212
+
367
213
 
368
214
 
369
215
  ###試したこと

3

チェックボックス式ダイアログ以外のコードを削除しました。

2016/09/04 11:46

投稿

ryochinn
ryochinn

score0

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,3 @@
1
- ###前提・実現したいこと
2
-
3
1
  androidstudioを使用してJavaの勉強を始めて3日目の初心者です。
4
2
 
5
3
  現在、書籍を見ながらAlertDialogをオプションメニューに組み込んでみたのですが、
@@ -12,6 +10,8 @@
12
10
 
13
11
  何卒宜しくお願い致します。
14
12
 
13
+ ![イメージ説明](232ba5accbbf4c86792c782fff546255.jpeg)
14
+
15
15
  ###発生している問題・エラーメッセージ
16
16
 
17
17
 

2

画像を追加しました。この状態でcheckbox buttonをおしてもダイアログが出ないという意味です

2016/09/04 10:53

投稿

ryochinn
ryochinn

score0

test CHANGED
File without changes
test CHANGED
@@ -32,6 +32,8 @@
32
32
 
33
33
 
34
34
 
35
+ ```ここに言語を入力
36
+
35
37
  package jp.androidbook.optionmenu;
36
38
 
37
39
 
@@ -358,6 +360,8 @@
358
360
 
359
361
 
360
362
 
363
+ ```
364
+
361
365
 
362
366
 
363
367
 

1

コードの部分修正しました

2016/09/04 09:00

投稿

ryochinn
ryochinn

score0

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,5 @@
1
+ ###前提・実現したいこと
2
+
1
3
  androidstudioを使用してJavaの勉強を始めて3日目の初心者です。
2
4
 
3
5
  現在、書籍を見ながらAlertDialogをオプションメニューに組み込んでみたのですが、
@@ -10,10 +12,6 @@
10
12
 
11
13
  何卒宜しくお願い致します。
12
14
 
13
- 追記:チェックボックス以外の部分はすべて削除しました。
14
-
15
- ![イメージ説明](232ba5accbbf4c86792c782fff546255.jpeg)
16
-
17
15
  ###発生している問題・エラーメッセージ
18
16
 
19
17
 
@@ -34,8 +32,6 @@
34
32
 
35
33
 
36
34
 
37
- ```ここに言語を入力
38
-
39
35
  package jp.androidbook.optionmenu;
40
36
 
41
37
 
@@ -64,16 +60,24 @@
64
60
 
65
61
  public class MainActivity extends AppCompatActivity {
66
62
 
63
+ static final String MENU_ITEM = "menu item";
64
+
65
+ static final String BUTTON_TEST = "button";
66
+
67
+ static final String RADIOBUTTON_TEST = "radio button";
68
+
69
+ static final String CHECKBOX_TEST = "checkbox button";
70
+
67
71
 
68
72
 
73
+ int selectedItem = 0;
74
+
75
+
76
+
69
- static final String CHECKBOX_TEST = "checkbox button";
77
+ boolean[] selectedItems = {false, false, false};
70
78
 
71
79
 
72
80
 
73
- boolean[] selectedItems = {false, false, false};
74
-
75
-
76
-
77
81
 
78
82
 
79
83
 
@@ -98,7 +102,11 @@
98
102
 
99
103
  getMenuInflater().inflate(R.menu.menu_main, menu);
100
104
 
101
-
105
+ menu.add(MENU_ITEM);
106
+
107
+ menu.add(BUTTON_TEST);
108
+
109
+ menu.add(RADIOBUTTON_TEST);
102
110
 
103
111
  menu.add(CHECKBOX_TEST);
104
112
 
@@ -114,23 +122,181 @@
114
122
 
115
123
  public boolean onOptionsItemSelected(MenuItem item) {
116
124
 
117
-
118
-
119
-
120
-
121
- if (CHECKBOX_TEST.contentEquals(getTitle())) {
125
+ if (MENU_ITEM.equals(item.getTitle())) {
126
+
127
+
128
+
129
+ final Activity list = this;
130
+
131
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
132
+
133
+ builder.setTitle("選択してください");
134
+
135
+ final String[] items = {"ONE", "TWO", "THREE"};
136
+
137
+ builder.setItems(items,
138
+
139
+ new DialogInterface.OnClickListener() {
140
+
141
+
142
+
143
+ @Override
144
+
145
+ public void onClick(DialogInterface dialogInterface, int i) {
146
+
147
+ Toast toast = Toast.makeText(list, items[i] + "を選択しました",
148
+
149
+ Toast.LENGTH_LONG);
150
+
151
+ toast.show();
152
+
153
+ }
154
+
155
+ });
156
+
157
+ builder.show();
158
+
159
+ }
160
+
161
+
162
+
163
+ //リスト表示するAlertDialog
164
+
165
+ else if (BUTTON_TEST.equals(item.getTitle())) {
122
166
 
123
167
  final Activity activity = this;
124
168
 
125
-
126
-
127
169
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
128
170
 
171
+ builder.setTitle("ボタンオプション");
172
+
173
+ builder.setMessage("アラートダイアログのボタン");
174
+
175
+ builder.setPositiveButton("OK!",
176
+
177
+ new DialogInterface.OnClickListener() {
178
+
179
+ @Override
180
+
181
+ public void onClick(DialogInterface dialogInterface, int i) {
182
+
183
+ Toast toast = Toast.makeText(activity, "ダイアログを閉じました",
184
+
185
+ Toast.LENGTH_LONG);
186
+
187
+ toast.show();
188
+
189
+ }
190
+
191
+ });
192
+
193
+ builder.setNegativeButton("NO!",
194
+
195
+ new DialogInterface.OnClickListener() {
196
+
197
+ @Override
198
+
199
+ public void onClick(DialogInterface dialogInterface, int i) {
200
+
201
+ Toast toast = Toast.makeText(activity, "キャンセルしました",
202
+
203
+ Toast.LENGTH_LONG);
204
+
205
+ toast.show();
206
+
207
+ }
208
+
209
+ });
210
+
211
+ builder.show();
212
+
213
+ }
214
+
215
+ //ボタン式のalertDialog
216
+
217
+
218
+
219
+ else if (RADIOBUTTON_TEST.equals(item.getTitle())) {
220
+
221
+ final Activity activity = this;
222
+
223
+
224
+
225
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
226
+
129
227
  builder.setTitle("選択してください");
130
228
 
131
229
  final String[] items = {"ONE", "TWO", "THREE"};
132
230
 
231
+ builder.setSingleChoiceItems(items, 0,
232
+
233
+ new DialogInterface.OnClickListener() { //●
234
+
235
+ //
236
+
237
+ @Override
238
+
239
+ public void onClick(DialogInterface dialogInterface, int i) {
240
+
241
+
242
+
243
+ selectedItem = i;
244
+
245
+
246
+
247
+ Toast toast = Toast.makeText(activity, items[i] + "でいいですか?",
248
+
249
+ //itemsの中のi番目を指す(selectedItemを入れても変わらない?)
250
+
251
+ Toast.LENGTH_SHORT);
252
+
253
+ toast.show();
254
+
255
+ }
256
+
257
+ });
258
+
259
+ builder.setPositiveButton("OK!", new DialogInterface.OnClickListener() {
260
+
261
+ @Override
262
+
263
+ public void onClick(DialogInterface dialogInterface, int i) {
264
+
265
+ Toast toast = Toast.makeText(activity,
266
+
267
+ items[selectedItem] + "を選択しました",
268
+
269
+ Toast.LENGTH_LONG);
270
+
271
+ toast.show();
272
+
273
+ }
274
+
275
+ });
276
+
277
+ builder.show();
278
+
279
+ }
280
+
281
+
282
+
283
+ //チェックボックス式のダイアログボックス
284
+
285
+
286
+
287
+ else if (CHECKBOX_TEST.equals(getTitle())) {
288
+
289
+ final Activity activity = this;
290
+
291
+
292
+
293
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
294
+
295
+ builder.setTitle("選択してください");
296
+
297
+ final String[] items = {"ONE", "TWO", "THREE"};
298
+
133
- builder.setMultiChoiceItems( (CharSequence[])items, selectedItems,
299
+ builder.setMultiChoiceItems( items, selectedItems,
134
300
 
135
301
  new DialogInterface.OnMultiChoiceClickListener() {
136
302
 
@@ -192,14 +358,6 @@
192
358
 
193
359
 
194
360
 
195
- ```
196
-
197
- ```
198
-
199
-
200
-
201
- ```
202
-
203
361
 
204
362
 
205
363