オプションのリストAlertDialog
をAndroid の公式ドキュメントに追加する方法の説明では、「データ ストレージ技術」の 1 つを使用してユーザー設定を保存することをほのめかしています。例では、 がクラスAlertDialog
内で生成されている ことを前提としています。Activity
私の場合、拡張するクラスを作成しましたItemizedOverlay
。このクラスはonTap
メソッドをオーバーライドし、 を使用してユーザーに複数選択の選択AlertDialog
を求めるプロンプトを表示します。タップするたびに選択をキャプチャして保持したいと思います。OverlayItem
以下のコードは、私が書いた onTap メソッドです。書かれているとおりに機能しますが、私が望んでいることはまだ実行されていません。後で使用するために、ユーザーが行った各選択をキャプチャして保持したいと思います。それ、どうやったら出来るの?このようにを使用するAlertDialog
ことは良い考えですか? より良いオプションはありますか?
protected boolean onTap(int index)
{
OverlayItem item = _overlays.get(index);
final CharSequence[] items = { "WiFi", "BlueTooth" };
final boolean[] checked = { false, false };
AlertDialog.Builder builder = new AlertDialog.Builder(_context);
builder.setTitle(item.getTitle());
builder.setMultiChoiceItems(items, checked, new
DialogInterface.OnMultiChoiceClickListener()
{
@Override
public void onClick(DialogInterface dialog, int item,
boolean isChecked)
{
// for now just show that the user touched an option
Toast.makeText(_context, items[item],
Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("Okay", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int id)
{
// should I be examining what was checked here?
dialog.dismiss();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
return true;
}