2010年10月10日

Androidにて複数選択ダイアログ(チェックボタン)を表示する[サンプルソース付き]

Androidにて複数選択ダイアログを表示するサンプルです。
選択項目を複数選択リスト形式にして表示し、選択したアイテムを画面に表示します。

Sample027.png

▼サンプルソース(抜粋)

@Override
public void onClick(View arg0) {

final String item_list[] = new String[] {
"data 1",
"data 2",
"data 3",
"data 4",
"data 5",
"data 6" };

new AlertDialog.Builder(MainActivity.this)
.setIcon(android.R.drawable.ic_menu_help)
//.setTitle(R.string.alert_dialog_multi_choice)
.setTitle("複数選択ダイアログ")
.setMultiChoiceItems(item_list,
new boolean[]{false, true, false, true, false, false, false},
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int whichButton,
boolean isChecked) {
//⇒アイテムを選択した時のイベント処理
Toast.makeText(MainActivity.this,
item_list[whichButton] + "を選択しました。" +
"[" + Boolean.toString(isChecked) + "]",
Toast.LENGTH_SHORT).show();
}
})
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//⇒OKボタンを押下した時のイベント処理
//【NOTE】
//whichButtonには選択したアイテムのインデックスが入っているわけでは
//ないので注意
Toast.makeText(MainActivity.this,
"OKボタンを押下しました。" + Integer.toString(whichButton),
Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("キャンセル", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//⇒キャンセルボタンを押下した時のイベント処理
//【NOTE】
//whichButtonには選択したアイテムのインデックスが入っているわけでは
//ないので注意
Toast.makeText(MainActivity.this,
"キャンセルボタンを押下しました。" + Integer.toString(whichButton),
Toast.LENGTH_SHORT).show();
}
})
.show();

}



▼サンプルソース(ダウンロード)

サンプルソースダウンロード


▼メッセージボックス関連記事へのリンク

選択ダイアログを表示する(メッセージ短め)[サンプルソース付き]
選択ダイアログを表示する(メッセージ長め)[サンプルソース付き]
リスト選択ダイアログを表示する[サンプルソース付き]
単一選択ダイアログ(ラジオボタン)を表示する[サンプルソース付き]
複数選択ダイアログ(チェックボタン)を表示する[サンプルソース付き]
テキスト入力ダイアログを表示する[サンプルソース付き]


★その他のAndroidプログラミングTipsについてはこちら
posted by Monmonkey at 08:41| Comment(0) | Android Programing Tips | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
Powered by Seesaa
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。