リストとダイアログ (8/8)
作成:2009-12-28 10:57
更新:2010-05-11 13:39
更新:2010-05-11 13:39
■AlertDialog.Builderでダイアログを使う
では、クリックされたときの処理を見ましょう。ここではダイアログを呼び出していますが、これは「AlertDialog.Builder」というクラスを利用して作成します。このAlertDialog.Builderのインスタンスを作成し、タイトル、表示メッセージ、表示ボタンなどの設定をしてから、画面にダイアログを表示するのです。
これも「onClick」というメソッドを用意しますが、引数にはDialogInterfaceと選択したボタンを示すint値が渡されます。ここでは、「setResult」というメソッドで「RESULT_OK」を指定していますね。これは、「OK」の結果が返されたことを設定するものです。まあ、今回は特にダイアログを閉じた後に処理などしていませんが、「ダイアログではこのようにして結果を指定する」と考えてください。
AlertDialog.Builder bldr = new AlertDialog.Builder(me);AlertDialog.Builderは、引数にダイアログを表示する「親」となるContext(要するに、このActivity)を指定します。インスタンスを作ったら、続いてタイトルと、表示するメッセージを設定します。
bldr.setTitle("ALERT");「setTitle」は、タイトルを設定するものです。そして「setMessage」は、メッセージを設定します。ここでは、onItemClickで渡されたView(イベントが発生したTextView)をTextViewにキャストし、そのgetTextでテキストを取り出して設定しています。
TextView txt = (TextView)view;
bldr.setMessage("選択項目:" + txt.getText());
DialogInterface.OnClickListener listner =続いて、ダイアログに表示するボタンに設定するためのOnClickListenerを用意します。これは通常のOnClickListenerではなく、「DialogInterface.OnClickListener」というものを作成します。
new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
setResult(RESULT_OK);
}
};
これも「onClick」というメソッドを用意しますが、引数にはDialogInterfaceと選択したボタンを示すint値が渡されます。ここでは、「setResult」というメソッドで「RESULT_OK」を指定していますね。これは、「OK」の結果が返されたことを設定するものです。まあ、今回は特にダイアログを閉じた後に処理などしていませんが、「ダイアログではこのようにして結果を指定する」と考えてください。
bldr.setPositiveButton("OK",listner);続いて、「setPositiveButton」で、ダイアログに表示するボタンの設定をします。第1引数に表示するボタンのラベル(表示テキスト)、そして第2引数にはボタンに設定するイベントリスナーを渡します。
bldr.create();基本的な設定が終わったら、「create」でダイアログを作成し、「show」で画面に表示します。ダイアログは、もっとさまざまな機能を持っており、いろいろと応用が利くのですが単に「メッセージを表示する」というだけなら、以上のことだけ頭に入れておけば十分でしょう。
bldr.show();
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ