2011年5月16日月曜日

[Android]アラートダイアログの使い方

今日はアラートダイアログ(AlertDialog)について書きます。
アラートダイアログというのはこんな感じのポップアップです。
よく処理前の確認とかに使われるポップアップですね。





















~をします
〔OK〕

とかそういう感じに。

使い方は AlertDialog.Builder を生成します。

  1. // アラートダイアログビルダーを生成  
  2. AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);  

AlertDialog.BuilderはAlertDialogの構成を決めるものです。
ここでメッセージやボタンを配置します。

メッセージ
  1. // アラートダイアログのメッセージを設定します  
  2. alertDialogBuilder.setMessage("夜の言葉に変換します。");  

ボタン
  1. // アラートダイアログのOKがクリックされた時に呼び出される処理を登録  
  2.         alertDialogBuilder.setNeutralButton("OK",  
  3.           new DialogInterface.OnClickListener() {  
  4.                     public void onClick(DialogInterface dialog, int which) {  
  5.                      // 処理  
  6.                      Toast.makeText(getApplication(), "OKが押されたよ", Toast.LENGTH_LONG).show();  
  7.                     }  
  8.                 });  

ボタンには「Positive」「Neutral」「Negative」の三種類がありますが、
直訳すると「肯定」「中立」「否定」となります。
なにがどうちがうのかは不明ですが、たいして動きも変わらない気がするので
個人的には「OK」のときには「Positive」でNGのときには「Negative」を使ってます。

ダイアログの構成を整えたら、実際にダイアログを生成して表示します。
  1. // アラートダイアログを生成  
  2. AlertDialog alertDialog = alertDialogBuilder.create();  
  3.           
  4. // アラートダイアログを表示します  
  5. alertDialog.show();  

案外「.show()」は忘れてしまうので注意しましょう。(Toastと同じですね・・・)

ちなみに一番上の見本のダイアログはこんな感じのコードです。
  1. // アラートダイアログビルダーを生成  
  2.      AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);  
  3.        
  4.      // アラートダイアログのタイトルを設定します  
  5.         alertDialogBuilder.setTitle("夜のアプリ");  
  6.         // アラートダイアログのメッセージを設定します  
  7.         alertDialogBuilder.setMessage("夜の言葉に変換します。");  
  8.   
  9.         // アラートダイアログのOKがクリックされた時に呼び出される処理を登録  
  10.         alertDialogBuilder.setNeutralButton("OK",  
  11.           new DialogInterface.OnClickListener() {  
  12.                     public void onClick(DialogInterface dialog, int which) {  
  13.                      // 処理  
  14.                      Toast.makeText(getApplication(), "OKが押されたよ", Toast.LENGTH_LONG).show();  
  15.                     }  
  16.                 });  
  17.           
  18.         // アラートダイアログのNGがクリックされたときに呼び出される処理を登録  
  19.         alertDialogBuilder.setNegativeButton("NG",  
  20.              new DialogInterface.OnClickListener() {  
  21.                        public void onClick(DialogInterface dialog, int which) {  
  22.                         // 処理  
  23.                         // キャンセルなのでなにもしない  
  24.                        }  
  25.                    });  
  26.              
  27.   
  28.         // アラートダイアログがキャンセル可能かを登録  
  29.         alertDialogBuilder.setCancelable(true);  
  30.           
  31.         // アラートダイアログを生成  
  32.         AlertDialog alertDialog = alertDialogBuilder.create();  
  33.           
  34.         // アラートダイアログを表示します  
  35.         alertDialog.show();  

タイトルとキャンセルボタンを追加してます。
確認ダイアログっぽいですね。

0 件のコメント:

コメントを投稿