UIコンポーネント/AlertDialogの使い方

Last-modified: 2011-02-01 (火) 21:08:00

android.app.AlertDialog

画面上にダイアログを表示させるAlertDialogの使い方を紹介します。

 

以下の手順でダイアログを表示します。

  1. AlertDialog.Builderを作成
  2. AlertDialog.Builderに表示内容や挙動を設定(詳細はAlertDialog.Builderを参照)
  3. AlertDialog.Builderのcreate()メソッドを呼び出し、AlertDialogを作成
  4. AlertDialogのshow()メソッドでダイアログを表示
 

サンプル

テキストとボタンを表示させるダイアログ

サンプルのソースコード
fileAlertDialogSample.java

 

テキストとボタンを表示させるダイアログ.PNG

 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        // タイトルを設定
        alertDialogBuilder.setTitle("タイトル");
        // メッセージを設定
        alertDialogBuilder.setMessage("メッセージ");
        // アイコンを設定
        alertDialogBuilder.setIcon( R.drawable.icon);
        // Positiveボタンとリスナを設定
        alertDialogBuilder.setPositiveButton("Pos", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // Posボタンが押されたときの処理
            }
        });
        // Neutralボタンとリスナを設定
        alertDialogBuilder.setNeutralButton("Neu", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // Neuボタンが押されたときの処理
            }
        });
        // Negativeボタンとリスナを設定
        alertDialogBuilder.setNegativeButton("Neg", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                // Negボタンが押されたときの処理
            }
        });
        // ダイアログを表示
        alertDialogBuilder.create().show();
    }
 

リストを表示させるダイアログ

サンプルのソースコード
fileAlertDialogListSample.java

 

リストを表示させるダイアログ.PNG

 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                AlertDialogListSample.this);
        // 表示項目の配列
        final CharSequence[] colors = { "RED", "BLUE", "YELLOW" };
        // タイトルを設定
        alertDialogBuilder.setTitle("タイトル");
        // 表示項目とリスナの設定
        alertDialogBuilder.setItems(colors,
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // 項目が選択されたときの処理
                    }
                });
        // back keyを使用不可に設定
        alertDialogBuilder.setCancelable(false);
        // ダイアログを表示
        alertDialogBuilder.create().show();
    }
 

複数の項目を選択するダイアログ

サンプルのソースコード
fileAlertDialogMultiChoiceSample.java

 

MultiChoice.PNG

 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                AlertDialogMultiChoiceSample.this);
        // 表示項目の配列
        final CharSequence[] colors = { "RED", "BLUE", "YELLOW" };
        // タイトルを設定
        alertDialogBuilder.setTitle("タイトル");
        // 複数選択形式の項目、リスナを設定
        alertDialogBuilder.setMultiChoiceItems(colors, null,
                new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which,
                            boolean isChecked) {
                        // 項目が選択されたときの処理
                    }
                });
        // Positiveボタン、リスナを設定
        alertDialogBuilder.setPositiveButton("OK",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // OKボタンが押されたときの処理
                    }
                });
        // Negativeボタン、リスナを設定
        alertDialogBuilder.setNegativeButton("Cancel",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // Cancelボタンが押されたときの処理
                    }
                });
        // ダイアログを表示
        alertDialogBuilder.create().show();
    }
 
 

  • プロジェクト作成してすぐに↑のプログラムをコピペして実行してみなされ -- 2011-02-01 (火) 21:07:59
  • main.xmlのサンプルもお願いします。 (^^) -- 2010-12-01 (水) 14:58:42