---
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();
}
```

## `OK`
```java=
new AlertDialog.Builder(this)
.setTitle("title")
.setMessage("message")
.setPositiveButton("OK", null)
.show();
```

## リストから選択
```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();
```

## ラジオボタンで選択
```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();
```

## チェックボックスによる複数選択
```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();
```

###### tags: `Android` `AlertDialog` `警告`