いろいろな AlertDialog

AlertDialog.Builderクラスを使っていろいろな AlertDialog を作ってみた

サンプルプログラム
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class AlertDialogTest2 extends Activity implements View.OnClickListener {
  AlertDialog.Builder alertDialogBuilder;
  Button button[];

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.alertdialogtest2);

    button = new Button[3];
    for (int i = 0; i < 3; i++) { d.Button01 + i);
      button[i].setOnClickListener(this);
    }
  }

  public void onClick(View v) {
    if (v == button[0]) {
      setEditAlertDialog();
    } else if (v == button[1]) {
      setSingleChoiceDialog();
    } else if (v == button[2]) {
       setMultiChoiceDialog();
    }
  }

  /* AlertDialog(EditText) */
  public void setEditAlertDialog() {
    EditText editText = new EditText(this);
    editText.setText("Please fill your name!");

    alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setTitle("EditTextDialog");

    // AlertDialog に View を設定
    alertDialogBuilder.setView(editText);

    // Positive Button を設定
    alertDialogBuilder.setPositiveButton(
      "Positive", 
      new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
          // Positive Button がクリックされた時の動作
        }
      }
    );
    alertDialogBuilder.show();
  }
 
  /* SingleChoiceDialog */
  public void setSingleChoiceDialog() {
    // 表示させるアイテム名
    final String[] str_items = {
      "One",
      "Two",
      "Three"
    };

    alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setTitle("SingleChoiceDialog");

    // 初めに選ばれているアイテム
    final int default_item = 0;

    // SingleChoiceDialog の作成
    alertDialogBuilder.setSingleChoiceItems(
      str_items, 
      default_item,
      new OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
          // アイテムが選ばれたときの動作
        }
      }
    );
    // Positive Button を設定
    alertDialogBuilder.setPositiveButton(
      "Positive", 
      new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
          // Positive Button がクリックされた時の動作
        }
      }
    );
    alertDialogBuilder.show();
  }

  /* MultiChoiceDialog */
  public void setMultiChoiceDialog() {
    // 表示させるアイテム名
    final String[] str_items = {
      "Red",
      "Green",
      "Blue"
    };
    // 各アイテムがチェックされている状態かどうか
    final boolean[] flag_items = {
      false,
      true,
      false
    };

    alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setTitle("MultiChoiceDialog");

    // MultiChoiceDialog の作成
    alertDialogBuilder.setMultiChoiceItems(
      str_items, 
      flag_items,
      new OnMultiChoiceClickListener() {
        public void onClick(
            DialogInterface dialog, 
            int which, 
            boolean isChecked) {
          // アイテムが選ばれたときの動作
        }
      }
    );
    // Positive Button を設定
    alertDialogBuilder.setPositiveButton(
      "Positive", 
      new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
          // Positive Button がクリックされた時の動作
        }
      }
    );
    alertDialogBuilder.show();
  }
}
プログラムを実行すると...

AlertDialog(EditText)

SingleChoiceDialog

MultiChoiceDialog

こんな感じ!


参考サイト
http://developer.android.com/intl/ja/reference/android/app/AlertDialog.html
http://developer.android.com/intl/ja/reference/android/app/AlertDialog.Builder.html

0 件のコメント:

コメントを投稿