Activityで警告表示を出したい時に利用するのがAlertDialogです。
基本的な使い方を解説します。
AlertDialog.Builderを使うことで簡単にダイアログを作成できます。
ダイアログ画面で利用頻度の高いメソッドは以下の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)
以下、ソースコードと解説です
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など二択が多いでしょう。
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)
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();