AlertDialog
에 대한 옵션 중 how to add a list에 대한 설명에서 공식 Android 설명서는 사용자 환경 설정을 "data storage techniques"중 하나와 함께 저장하는 것을 암시합니다. 이 예제에서는 AlertDialog
이 Activity
클래스 내에서 생성 된 것으로 가정합니다.ItemizedOverlay onTap 메서드에서 생성 된 AlertDialog에서 선택된 옵션 유지 방법
제 경우에는 ItemizedOverlay
을 확장하는 클래스를 만들었습니다. 이 클래스는 onTap
메서드를 재정의하고 AlertDialog
을 사용하여 사용자에게 multi-choice selection을 만들 것을 요청합니다. 그들이 누르는 각각의 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;
}
미안하지만 성취하려는 것을 정확히 이해하지 못합니다. 당신의 질문은 정확히 무엇입니까? – JRL
@JRL 나는 나의 의향이 분명하게 희망적으로 수정되었다. 안드로이드 개발에 매우 새로운 거대한 코드 블록에 대해 사과하고이 시점에서 무엇이 적절한 지 확신하지 못한다. : \ – ahsteele
귀하의 질문에 대해 아직 명확하지 않습니다. 산문에는 의문의 여지가 없습니다. 코드가 컴파일되지 않습니까? 예외로 코드가 실패합니까? 그렇다면 스택 추적은 무엇입니까?뭔가 다른 점이 있습니까? – CommonsWare