2012-04-10 26 views
0

叫我讀了很多文章,但沒有一個人能解決我不能調用類XMLParsingExample中的onCreate法的問題。的onCreate不是由主類

在OnCreate日誌語句沒有顯示輸出和跟蹤表明,類後布爾完成=假,因此不運行的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

本雅明Sharet是正確的。

我想你混淆了一個創作者的方法,當你分配一個對象,它不會被調用,並onCreate(),這是獲取通過在適當的時間框架自動調用一個Android生命週期回調函數。

的創作者功能通常沒有在其名稱中「創造」;它共享您正在實例化對象的類的名稱。在你的情況下,創建者將被稱爲XMLParsingExample()

有關Android的生命週期回調的更多信息,請參閱http://developer.android.com/guide/topics/fundamentals/activities.html

+0

奧克感謝這些答案我會稍後再檢查它們,但它看起來很有前景 – Qwyrp 2012-04-11 13:03:51

4

開始一個新的活動不被實例化它(new XMLParsingExample();)完成,但以意向爲例:

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

看一看here

相關問題