サイト移転のお知らせ:http://techbooster.org/に移転しました

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

5月 11, 2010   //   by @mhidaka   //   アプリケーション  //  3 Comments

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();

関連する記事:

Sponsored Link

3 Comments

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です