- Android
- 2011-12-13 - 更新:2011-12-15
この記事は最終更新日から1年以上経過しています。
サブメニューやコンテキストメニュー以外で、選択してもらう機能を実装したいときに発見しました。
複数の選択肢を持たせることができるダイアログを実装することができます。
AlertDialog.Builder ad = new AlertDialog.Builder(this); ad.setTitle("選択"); final String[] items = { "01", "02", "03"}; ad.setItems(items, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.v(TAG, items[which] + "が選択されました。"); switch(which){ case 0: //01が選択された場合の処理 break; case 1: //02が選択された場合の処理 break; case 2: //03が選択された場合の処理 break; } } }); ad.create().show();
選択肢をラジオボタンにして1つだけ選択できるようにし、
OKとキャンセルボタンを付けると以下のようになります。
AlertDialog.Builder ad = new AlertDialog.Builder(this); ad.setTitle("選択"); final String[] items = { "01", "02", "03"}; int defaultChoice = 0; //デフォルトで選択されるアイテムのインデックス ad.setSingleChoiceItems(items, defaultChoice, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.v(TAG, items[which] + "が選択されました。"); switch(which){ case 0: //01が選択された場合の処理 break; case 1: //02が選択された場合の処理 break; case 2: //03が選択された場合の処理 break; } } }); ad.setPositiveButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //肯定ボタンの操作 } }); ad.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //キャンセルボタンの動作 } }); ad.create().show();
2,435 views