X

AlertDialogで警告画面を表示する(1)

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();
mhidaka: Software Engineerだよ。DroidKaigi Organizer / Androidと組込とRe:VIEW。techbooster主宰。mhidaka's writings http://booklog.jp/users/mhidaka 技術書典! http://techbookfest.org
Related Post