libro
www.tuyano.com
Google androidプログラミング入門

リストとダイアログ (8/8)

作成:2009-12-28 10:57
更新:2010-05-11 13:39

■AlertDialog.Builderでダイアログを使う

では、クリックされたときの処理を見ましょう。ここではダイアログを呼び出していますが、これは「AlertDialog.Builder」というクラスを利用して作成します。このAlertDialog.Builderのインスタンスを作成し、タイトル、表示メッセージ、表示ボタンなどの設定をしてから、画面にダイアログを表示するのです。
AlertDialog.Builder bldr = new AlertDialog.Builder(me);
AlertDialog.Builderは、引数にダイアログを表示する「親」となるContext(要するに、このActivity)を指定します。インスタンスを作ったら、続いてタイトルと、表示するメッセージを設定します。
bldr.setTitle("ALERT");
TextView txt = (TextView)view;
bldr.setMessage("選択項目:" + txt.getText());
「setTitle」は、タイトルを設定するものです。そして「setMessage」は、メッセージを設定します。ここでは、onItemClickで渡されたView(イベントが発生したTextView)をTextViewにキャストし、そのgetTextでテキストを取り出して設定しています。
DialogInterface.OnClickListener listner =
        new DialogInterface.OnClickListener(){


    @Override
    public void onClick(DialogInterface dialog, int which) {
        setResult(RESULT_OK);
    }
};
続いて、ダイアログに表示するボタンに設定するためのOnClickListenerを用意します。これは通常のOnClickListenerではなく、「DialogInterface.OnClickListener」というものを作成します。

これも「onClick」というメソッドを用意しますが、引数にはDialogInterfaceと選択したボタンを示すint値が渡されます。ここでは、「setResult」というメソッドで「RESULT_OK」を指定していますね。これは、「OK」の結果が返されたことを設定するものです。まあ、今回は特にダイアログを閉じた後に処理などしていませんが、「ダイアログではこのようにして結果を指定する」と考えてください。
bldr.setPositiveButton("OK",listner);
続いて、「setPositiveButton」で、ダイアログに表示するボタンの設定をします。第1引数に表示するボタンのラベル(表示テキスト)、そして第2引数にはボタンに設定するイベントリスナーを渡します。
bldr.create();
bldr.show();
基本的な設定が終わったら、「create」でダイアログを作成し、「show」で画面に表示します。ダイアログは、もっとさまざまな機能を持っており、いろいろと応用が利くのですが単に「メッセージを表示する」というだけなら、以上のことだけ頭に入れておけば十分でしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「Google androidプログラミング入門」に戻る