안드로이드 개발 질문/답변
(글 수 45,052)
class Restaurant extends ItemizedOverlay<OverlayItem> {
public Restaurant(Drawable defaultMarker) {
super(defaultMarker);
boundCenterBottom(defaultMarker);
boundCenter(mRed);
populate();
}
public int size() {
return 5;
}
protected OverlayItem createItem(int i) {
OverlayItem item = null;
switch (i) {
case 0:
item = new OverlayItem(new GeoPoint(37340482, 126732778), "A", null);
break;
case 1:
item = new OverlayItem(new GeoPoint(37340320, 126733157), "B", null);
break;
case 2:
item = new OverlayItem(new GeoPoint(37340022, 126733810), "C", null);
break;
case 3:
item = new OverlayItem(new GeoPoint(37339702, 126734019), "D", null);
break;
case 4:
item = new OverlayItem(new GeoPoint(37339699, 126734880), "E", null);
break;
}
return item;
}
public boolean onTap(int index) {
OverlayItem item = getItem(index);
new AlertDialog.Builder(OverlayMulti.this)
.setTitle(item.getTitle()+"공학관입니다.")
.setMessage(item.getTitle()+"공학관일껄?")
.setPositiveButton("상세보기", mClick)
.setNegativeButton("Close", null)
.show();
return true;
}
}
DialogInterface.OnClickListener mClick = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
이 부분에서 switch문으로 각 공학관을 불러오는것이 문제입니다.
}
};구현하려는것은 구글맵위에 있는 공학관 마커를 클릭시 다이얼로그가 뜨게되고 "상세보기", "닫기" 버튼이 나타나게됩니다.
그리고 상세보기를 누를시에 마커에 대한 각 공학관 상세설명이 있는 각 액티비티로 이동시키려고 합니다.
다시말해 구글맵에서 A공학과을 누르고 상세보기를 누르면 A공학과 설명이 있는 액티비티로 이동하는것이 목적입니다.
보시다시피 현재 다이얼로그까지 띄우는건 별로 어렵지 않았는데요.
public void onClick(DialogInterface dialog, int whichButton)
여기서 whichButton으로 공학관을 구별해서 호출해야하는데 이부분에서 어떻게 해야할지 모르겠습니다. ㅠㅜ.
도움을 주시면 감사하겠습니다!!




final OverlayItem item = getItem(index);
new AlertDialog.Builder(OverlayMulti.this)
.setTitle(item.getTitle() + "공학관입니다.")
.setMessage(item.getTitle() + "공학관일껄?")
.setPositiveButton("상세보기", new DialogInterface.OnClickListener() {
public void onClick(DialongInterface dialog, int whichButton) {
if (item.getTitle()."A") {
// A공학관 startActivity();
} else if (item.getTitle()."B") {
// B공학관 startActivity();
}
}
})
.setNegativeButton("Close", null)
.show();