안드로이드 개발 질문/답변
(글 수 45,052)
Android Developer에 나온 지도에 Marker 표시하기를 따라 연습중에 있는데요 ㅠ
"헬로우 아이템아이즈드오벌레이" 라는 클래스를 만들고 그 클래스의 스트럭처를
다음과 같이 Drawable과 Context로 해주었어요~
public class HelloItemizedOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
Context mContext = context;
}
그런데 문제는
@Override
public boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
위에서 받아온 mContext를 사용하여 dialog를 띄우고 싶은데, 위에 클래스 스트럭처에 정의 했음에도 불구하고
mContext가 정의 된전 없다고 에러가 뜨네용 ㅠㅠ 저가 뭔가 잘못 이해하고 있나봐요,ㅠㅠ 자바 초보라 ㅠㅠ
어떻게 고치죠??ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
"헬로우 아이템아이즈드오벌레이" 라는 클래스를 만들고 그 클래스의 스트럭처를
다음과 같이 Drawable과 Context로 해주었어요~
public class HelloItemizedOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
Context mContext = context;
}
그런데 문제는
@Override
public boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
위에서 받아온 mContext를 사용하여 dialog를 띄우고 싶은데, 위에 클래스 스트럭처에 정의 했음에도 불구하고
mContext가 정의 된전 없다고 에러가 뜨네용 ㅠㅠ 저가 뭔가 잘못 이해하고 있나봐요,ㅠㅠ 자바 초보라 ㅠㅠ
어떻게 고치죠??ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
메소드 내 지역변수가 참조하도록 하진 않죠...
메소드 밖 클래스변수로 하시는 게..
public class HelloItemizedOverlay extends ItemizedOverlay<OverlayItem> {
Context mContext;
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
this.mContext = context;
}