2012-04-10 48 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

相关问题