minimize

事業拡大のため、新しい仲間を募集しています。
→詳しくはこちら

Android では、いくつかダイアログ関連のクラスが用意されています。

AlertDialog

名前は Alert となっていますが、Yes/No の選択やリスト選択、ラジオボタンまで
様々な用途に使えるクラスになっています。

Yes/No ダイアログ

これが意外と面倒です。

Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Message")
    .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // Yes を押したときの処理
        }
    })
    .setNegativeButton("No", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // No を押したときの処理
        }
    })
    ;
AlertDialog dialog = builder.create();
dialog.show();

長っ。

List ダイアログ

アイテム選択用のダイアログです。

final CharSequence[] items = {"Red", "Green", "Blue"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setItems(items, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_LONG).show();
    }
});
AlertDialog alert = builder.create();
alert.show();

余談ですが、Android では String よりも CharSequence が好まれます。
CharSequence は、String や StringBuffer、CharBuffer (nio) などが持つ共通インターフェイスです。

Checkbox ダイアログ

List ダイアログと似ていますが、選択したアイテムにチェックが付きます。

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int item) {
        Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
    }
});
AlertDialog alert = builder.create();
alert.show();

setItems が setSingleChoiceItems に変わっただけです。
この形式の場合、アイテムを選択してもチェックが付くだけでダイアログは閉じられません。