--- lang: ja-jp breaks: true --- # Android AlertDialog でメッセージを表示する 2021-08-04 > コピペしてすぐ使えるアラートダイアログ集 > https://qiita.com/suzukihr/items/8973527ebb8bb35f6bb8 ## `はい`、`いいえ`、`キャンセル` ```java= public void onClickButton(View view) { // Use the Builder class for convenient dialog construction new AlertDialog.Builder(this) .setTitle("タイトル") .setMessage("メッセージ") .setPositiveButton("はい", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { // FIRE ZE MISSILES! } }) .setNegativeButton("いいえ", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { // User cancelled the dialog } }) .setNeutralButton("キャンセル", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialogInterface, int i) { } }) // Create the AlertDialog object and return it .show(); } ``` ![](https://i.imgur.com/GNNi3DV.png) ## `OK` ```java= new AlertDialog.Builder(this) .setTitle("title") .setMessage("message") .setPositiveButton("OK", null) .show(); ``` ![](https://i.imgur.com/uuJrwST.png) ## リストから選択 ```java= final String[] items = { "選択肢1", "選択肢2", "選択肢3" }; new AlertDialog.Builder(this) .setTitle("選択肢") .setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // item_which pressed } }) .show(); ``` ![](https://i.imgur.com/fB6X3nI.png) ## ラジオボタンで選択 ```java= final String[] items = { "選択肢1", "選択肢2", "選択肢3" }; int defaultItem = 0; // デフォルトでチェックされているアイテム final List<Integer> checkedItems = new ArrayList<>(); checkedItems.add(defaultItem); new AlertDialog.Builder(this) .setTitle("選択肢") .setSingleChoiceItems(items, defaultItem, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { checkedItems.clear(); checkedItems.add(which); } }) .setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (!checkedItems.isEmpty()) { Log.d("checkedItem:", "" + checkedItems.get(0)); } } }) .setNegativeButton("キャンセル", null) .show(); ``` ![](https://i.imgur.com/gSoC8E6.png) ## チェックボックスによる複数選択 ```java= final String[] items = { "選択肢1", "選択肢2", "選択肢3" }; final ArrayList<Integer> checkedItems = new ArrayList<Integer>(); new AlertDialog.Builder(this) .setTitle("選択肢") .setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { if (isChecked) checkedItems.add(which); else checkedItems.remove((Integer) which); } }) .setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { for (Integer i : checkedItems) { // item_i checked } } }) .setNegativeButton("キャンセル", null) .show(); ``` ![](https://i.imgur.com/UFWvZYK.png) ###### tags: `Android` `AlertDialog` `警告`