徒然なるままに

個人の備忘録を中心としたブログです

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【ダイアログでの表示】

import android.app.AlertDialog; //ダイアログ本体
import android.content.DialogInterface; //ダイアログにてアクションが起こったときの制御用



new AlertDialog.Builder(this)
.setTitle(R.string.dialog_title)
.setItems(R.array.volume, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int index) {
startGame(index); //Dialogで選択された値を元にゲームをスタート
}
}).show();



.(ドット)で関数が長く繋がっているが、これらの関数は自分自身のインスタンスを返していることに注目。
1.AlertDialog.Builderクラス:コンストラクタに呼び出し元のアクティビティを渡す。
2.setTitle():ダイアログのタイトルを入れる。
3.setItems():array要素をリスト的にセットする。第一引数に<string-array>で設定したarray要素(上の例ではvolume)。
第二引数はDialogInterface.OnClickListnerクラスを無名クラスとして実装し、onClick()関数を定義する。
DialogInterface.OnClickListner.onClick()には渡されてきたDialogInterfaceと、array要素のインデックス(上から順に0,1,・・・)を指定。
4.show()でダイアログを実際に表示する(これを忘れるとダイアログが表示されない)

3'.setItems()はリストからアイテムを一つ選択するものだったが、単にメッセージを表示したい場合などはsetItems()の代わりにsetMessage(R.string.message).show()としてやればよい。

【デバッグの際などで使用するログメッセージの使い方】
アクティビティの途中の状態を、ログとしてLogcat上のコンソールに表示したいという時にログメッセージを用いる。
(アプリ上で表示してもよいのだが、いちいちダイアログを作ったりするのは骨が折れる)


import android.util.Log;



private void function1(int index){
Log.d("TAG1","clicked on " + index);
}


Log.d(デバッグ)、Log.e(エラー)、Log.i(情報)、Log.v(冗長)などそれぞれの深刻度に合わせてログメッセージを出力する。
第一引数はLogcatのログのタグ名として表示される。

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://kamiyasu2.blog.fc2.com/tb.php/4-1b987049

kamiyasu

Author:kamiyasu

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。