2010-12-30 2 views
0

5 개의 Android 개발자 학습서를 성공적으로 완료했지만 Google지도 자습서에 문제가 있습니다. 모든 패키지를 가져 오려면 ctrl + 시프트 + o을 입력하고 아직 해결할 수없는 오류가 발생합니다. 나는 그 무언가 간단하다고 확신한다, 나는 방금 그것을보기에는 너무 오랫동안 화면을 쳐다 보았다.Google지도 자습서 mContext를 확인할 수 없습니다.

package com.example.HelloGoogleMaps; 

import java.util.ArrayList; 

import android.app.AlertDialog; 
import android.content.Context; 
import android.graphics.drawable.Drawable; 

import com.google.android.maps.ItemizedOverlay; 
import com.google.android.maps.OverlayItem; 

public class HelloItemizedOverlay extends ItemizedOverlay { 

private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); 

public HelloItemizedOverlay(Drawable defaultMarker) { 
super(boundCenterBottom(defaultMarker)); 
} 

public void addOverlay(OverlayItem overlay) { 
mOverlays.add(overlay); 
populate(); 
} 

@Override 
protected OverlayItem createItem(int i) { 
// TODO Auto-generated method stub 
return mOverlays.get(i); 
} 

@Override 
public int size() { 
// TODO Auto-generated method stub 
return 0; 
} 

public HelloItemizedOverlay(Drawable defaultMarker, Context context) { 
super(defaultMarker); 
mContext = context; //ERROR #1 
} 

@Override 
protected boolean onTap(int index) { 
OverlayItem item = mOverlays.get(index); 
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); //ERROR #2 
dialog.setTitle(item.getTitle()); 
dialog.setMessage(item.getSnippet()); 
dialog.show(); 
return true; 
} 



} 

답변

1

어딘가에 지정하십시오.

Context mContext; 
+0

감사합니다. 첫 번째 인스턴스 위에 과제를 추가했는데 이클립스는 경고를 던진다. (로컬 변수 mContext는 읽히지 않는다) : 컨텍스트 mContext; mContext = 컨텍스트; 또한 두 번째 인스턴스 위에 할당을 추가하고 새로운 오류가 발생합니다 (로컬 변수 mContext가 초기화되지 않았을 수 있음). \t 컨텍스트 mContext; \t AlertDialog.Builder 대화 상자 = 새 AlertDialog.Builder (mContext); – HTN

+0

좋아, 알아 냈어. 방관자. HelloItemizedOverlay 클래스의 첫 번째 줄로 할당을 맨 위에 배치했습니다. 일단 내가 그 일을하면 모든 오류가 발생하고 앱이 원활하게 실행됩니다. – HTN

+0

당신은 천만에요. 영어로는 가난합니다. 사용하기 전에 "선언과 초기화"와 같은 말을해야합니다. 깨끗하게 될 것입니다. 자, 코드에주의해야하므로주의해야합니다. 내 연설. 그런데, 새해 복 많이 받으십시오 !!! – outcast

관련 문제