AlertDialogで警告画面を表示する(1)
|Activityで警告表示を出したい時に利用するのがAlertDialogです。
基本的な使い方を解説します。
AlertDialog.Builderを使うことで簡単にダイアログを作成できます。
ダイアログ画面で利用頻度の高いメソッドは以下の3つです。
1 2 3 | public AlertDialog.Builder setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener) public AlertDialog.Builder setNeutralButton(CharSequence text, DialogInterface.OnClickListener listener) public AlertDialog.Builder setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener) |
以下、ソースコードと解説です
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); AlertDialog.Builder alertDialog= new AlertDialog.Builder( this ); // ダイアログの設定 alertDialog.setTitle( "title" ); //タイトル alertDialog.setMessage( "massage" ); //内容 alertDialog.setIcon(R.drawable.icon); //アイコン設定 alertDialog.setPositiveButton( "OK" , new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO 自動生成されたメソッド・スタブ Log.d( "AlertDialog" , "Positive which :" + which); } }); // ダイアログの作成と表示 alertDialog.create(); alertDialog.show(); } |
アラートダイアログの表示にはalertDialogインスタンスを生成します。
8~10行目にかけて基本的なタイトル・内容・アイコンを設定します。(アイコンは無くても問題ありません)
12行目は、PositiveButtonの設定です。
第1引数:表示文字列
第2引数:ボタンが押下されたときに呼び出されるリスナーを登録します。
利用可能なボタンは以下の3種類です。それぞれ意味としては肯定・中立・否定ですが
主に開発で使うのはOK/NGなど二択が多いでしょう。
1 2 3 | public AlertDialog.Builder setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener) public AlertDialog.Builder setNeutralButton(CharSequence text, DialogInterface.OnClickListener listener) public AlertDialog.Builder setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | AlertDialog.Builder alertDialog= new AlertDialog.Builder( this ); // ダイアログの設定 alertDialog.setTitle( "title" ); //タイトル alertDialog.setMessage( "massage" ); //内容 alertDialog.setIcon(R.drawable.icon); //アイコン設定 // OKボタンの設定 alertDialog.setPositiveButton( "OK" , new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO 自動生成されたメソッド・スタブ Log.d( "AlertDialog" , "Positive which :" + which); } }); // SKIPボタンの設定 alertDialog.setNeutralButton( "SKIP" , new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO 自動生成されたメソッド・スタブ Log.d( "AlertDialog" , "Neutral which :" + which); } }); // NGボタンの設定 alertDialog.setNegativeButton( "NG" , new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO 自動生成されたメソッド・スタブ Log.d( "AlertDialog" , "Negative which :" + which); } }); // ダイアログの作成と表示 alertDialog.create(); alertDialog.show(); |
3 Comments