2012-04-10 4 views
0

많은 기사를 읽었지만 그 중 누구도 XMLParsingExample 클래스에서 onCreate-method를 호출하지 않는 문제를 해결할 수 없습니다.onCreate가 주 클래스에 의해 호출되지 않았습니다.

onCreate의 로그 명령문에 출력이 표시되지 않고 추적을 통해 boolean finished = false로 클래스가 종료되고 onCreate가 실행되지 않는 것으로 나타납니다. 여기

코드 :

public class MyMap extends MapActivity { 

private MapView mapView; 
private MapController mc; 
private OverlayItem overlayItem; 
private List<Overlay> mapOverlays; 
private Drawable drawable; 
private Drawable drawable2; 
private MyItemizedOverlay itemizedOverlayMyLoc; 
private MyItemizedOverlay itemizedOverlayRust; 
private LocationManager locMgr; 
private MyLocationListener locLstnr;XMLParsingExample mXMLParsingExample; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mapView = (MapView) findViewById(R.id.mapview); 
     mapView.setBuiltInZoomControls(true); 

     mc = mapView.getController(); 
     mapView.setBuiltInZoomControls(true); 

     locMgr = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
     locLstnr = new MyLocationListener(); 
     locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locLstnr); 

     mapOverlays = mapView.getOverlays(); 

     // first overlay 
     drawable = getResources().getDrawable(R.drawable.marker2); 
     itemizedOverlayMyLoc = new MyItemizedOverlay(drawable, mapView); 

     //         LAT     LONG 
     GeoPoint uwLoc = new GeoPoint((int)(52.22778*1E6),(int)(6.10428*1E6)); 
     overlayItem = new OverlayItem(uwLoc, "Uw locatie", "http://www.nu.nl"); 
     itemizedOverlayMyLoc.addOverlay(overlayItem); 
     mapOverlays.add(itemizedOverlayMyLoc); 

     // Rustpunten overlay 
     drawable2 = getResources().getDrawable(R.drawable.rmarker3); 
     itemizedOverlayRust = new MyItemizedOverlay(drawable2, mapView); 

     mXMLParsingExample = new XMLParsingExample(); 

하고 여기에서 OnCreate가 호출되지 클래스 :

public class XMLParsingExample extends Activity { 

/** Create Object For SiteList Class */ 
public SitesList sitesList = null; 
public ProgressDialog progressDialog; 
boolean finished=false; 

    /** Called when the activity is first created. */ 
    @Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Log.i("onCreate", "onCreate started"); 
} 

답변

0

Binyamin Sharet가 정확합니다.

개체를 할당 할 때 호출되는 생성자 메서드와 적절한 시간에 프레임 워크에서 자동으로 호출되는 Android 수명주기 콜백 함수 인 onCreate()을 혼동스럽게 생각한다고 생각합니다.

작성자 함수는 일반적으로 이름에 'create'가 없습니다. 인스턴스화중인 객체의 클래스 이름을 공유합니다. 귀하의 경우, 작성자는 XMLParsingExample()입니다.

Android 라이프 사이클 콜백에 대한 자세한 내용은 http://developer.android.com/guide/topics/fundamentals/activities.html을 참조하십시오.

+0

다음 답변을 주셔서 감사합니다. 나중에 확인 하겠지만 유망 해 보입니다. – Qwyrp

4

을 새로운 활동을 시작 그것 (new XMLParsingExample();를) 인스턴스화에 의해 수행되지 않지만, 예를 들면 다음과 같습니다.

Intent intent = new Intent(this, XMLParsingExample.class); 
startActivity(intent); 

here.

관련 문제