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;
}
}
감사합니다. 첫 번째 인스턴스 위에 과제를 추가했는데 이클립스는 경고를 던진다. (로컬 변수 mContext는 읽히지 않는다) : 컨텍스트 mContext; mContext = 컨텍스트; 또한 두 번째 인스턴스 위에 할당을 추가하고 새로운 오류가 발생합니다 (로컬 변수 mContext가 초기화되지 않았을 수 있음). \t 컨텍스트 mContext; \t AlertDialog.Builder 대화 상자 = 새 AlertDialog.Builder (mContext); – HTN
좋아, 알아 냈어. 방관자. HelloItemizedOverlay 클래스의 첫 번째 줄로 할당을 맨 위에 배치했습니다. 일단 내가 그 일을하면 모든 오류가 발생하고 앱이 원활하게 실행됩니다. – HTN
당신은 천만에요. 영어로는 가난합니다. 사용하기 전에 "선언과 초기화"와 같은 말을해야합니다. 깨끗하게 될 것입니다. 자, 코드에주의해야하므로주의해야합니다. 내 연설. 그런데, 새해 복 많이 받으십시오 !!! – outcast