いろいろな AlertDialog

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

サンプルプログラム
  1. import android.app.Activity;  
  2. import android.app.AlertDialog;  
  3. import android.content.DialogInterface;  
  4. import android.content.DialogInterface.OnClickListener;  
  5. import android.content.DialogInterface.OnMultiChoiceClickListener;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.widget.Button;  
  9. import android.widget.EditText;  
  10.   
  11. public class AlertDialogTest2 extends Activity implements View.OnClickListener {  
  12.   AlertDialog.Builder alertDialogBuilder;  
  13.   Button button[];  
  14.   
  15.   @Override  
  16.   public void onCreate(Bundle savedInstanceState) {  
  17.     super.onCreate(savedInstanceState);  
  18.     setContentView(R.layout.alertdialogtest2);  
  19.   
  20.     button = new Button[3];  
  21.     for (int i = 0; i < 3; i++) { d.Button01 + i);  
  22.       button[i].setOnClickListener(this);  
  23.     }  
  24.   }  
  25.   
  26.   public void onClick(View v) {  
  27.     if (v == button[0]) {  
  28.       setEditAlertDialog();  
  29.     } else if (v == button[1]) {  
  30.       setSingleChoiceDialog();  
  31.     } else if (v == button[2]) {  
  32.        setMultiChoiceDialog();  
  33.     }  
  34.   }  
  35.   
  36.   /* AlertDialog(EditText) */  
  37.   public void setEditAlertDialog() {  
  38.     EditText editText = new EditText(this);  
  39.     editText.setText("Please fill your name!");  
  40.   
  41.     alertDialogBuilder = new AlertDialog.Builder(this);  
  42.     alertDialogBuilder.setTitle("EditTextDialog");  
  43.   
  44.     // AlertDialog に View を設定  
  45.     alertDialogBuilder.setView(editText);  
  46.   
  47.     // Positive Button を設定  
  48.     alertDialogBuilder.setPositiveButton(  
  49.       "Positive",   
  50.       new DialogInterface.OnClickListener() {  
  51.         public void onClick(DialogInterface dialog, int which) {  
  52.           // Positive Button がクリックされた時の動作  
  53.         }  
  54.       }  
  55.     );  
  56.     alertDialogBuilder.show();  
  57.   }  
  58.    
  59.   /* SingleChoiceDialog */  
  60.   public void setSingleChoiceDialog() {  
  61.     // 表示させるアイテム名  
  62.     final String[] str_items = {  
  63.       "One",  
  64.       "Two",  
  65.       "Three"  
  66.     };  
  67.   
  68.     alertDialogBuilder = new AlertDialog.Builder(this);  
  69.     alertDialogBuilder.setTitle("SingleChoiceDialog");  
  70.   
  71.     // 初めに選ばれているアイテム  
  72.     final int default_item = 0;  
  73.   
  74.     // SingleChoiceDialog の作成  
  75.     alertDialogBuilder.setSingleChoiceItems(  
  76.       str_items,   
  77.       default_item,  
  78.       new OnClickListener() {  
  79.         public void onClick(DialogInterface dialog, int which) {  
  80.           // アイテムが選ばれたときの動作  
  81.         }  
  82.       }  
  83.     );  
  84.     // Positive Button を設定  
  85.     alertDialogBuilder.setPositiveButton(  
  86.       "Positive",   
  87.       new DialogInterface.OnClickListener() {  
  88.         public void onClick(DialogInterface dialog, int which) {  
  89.           // Positive Button がクリックされた時の動作  
  90.         }  
  91.       }  
  92.     );  
  93.     alertDialogBuilder.show();  
  94.   }  
  95.   
  96.   /* MultiChoiceDialog */  
  97.   public void setMultiChoiceDialog() {  
  98.     // 表示させるアイテム名  
  99.     final String[] str_items = {  
  100.       "Red",  
  101.       "Green",  
  102.       "Blue"  
  103.     };  
  104.     // 各アイテムがチェックされている状態かどうか  
  105.     final boolean[] flag_items = {  
  106.       false,  
  107.       true,  
  108.       false  
  109.     };  
  110.   
  111.     alertDialogBuilder = new AlertDialog.Builder(this);  
  112.     alertDialogBuilder.setTitle("MultiChoiceDialog");  
  113.   
  114.     // MultiChoiceDialog の作成  
  115.     alertDialogBuilder.setMultiChoiceItems(  
  116.       str_items,   
  117.       flag_items,  
  118.       new OnMultiChoiceClickListener() {  
  119.         public void onClick(  
  120.             DialogInterface dialog,   
  121.             int which,   
  122.             boolean isChecked) {  
  123.           // アイテムが選ばれたときの動作  
  124.         }  
  125.       }  
  126.     );  
  127.     // Positive Button を設定  
  128.     alertDialogBuilder.setPositiveButton(  
  129.       "Positive",   
  130.       new DialogInterface.OnClickListener() {  
  131.         public void onClick(DialogInterface dialog, int which) {  
  132.           // Positive Button がクリックされた時の動作  
  133.         }  
  134.       }  
  135.     );  
  136.     alertDialogBuilder.show();  
  137.   }  
  138. }  
プログラムを実行すると...

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 件のコメント:

コメントを投稿