2010-08-23 19 views
0

我得到了這個類,onCreate內沒有任何東西發生?初始化時不會自動調用嗎?Android:沒有任何過去正在發生

代碼在下面,非常感謝! - Micheal

package com.michealbach.livedrops; 

import java.io.IOException; 
import java.util.List; 
import java.util.Locale; 

import android.app.Activity; 

public class AnyClass extends Activity { 

double latitude = 0; 
double longitude = 0; 

String addressString = "Address Initialized"; 
String postalString = null; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    postalString = "Why doesn't this String change happen at all?"; 

    } 


public double getLongitude() { 
    return longitude; 
} 

public double getLatitude() { 
    return latitude; 
} 

public String getAddress() { 
    return addressString; 
} 
public String getPostal() { 
    return postalString; 
} 
} 

這樣做會導致「應用程序意外停止,請重試」。如果我將字符串初始化爲一組字符而不是null,它將保持這種狀態。它不應該在onCreate()內部做什麼並做出改變?

回答

1

onLocationChanged()只是程序中的一個類方法,它並不是任何東西。你所要做的

 

private final LocationListener locationListener = new LocationListener() { 

     @Override 
     public void onLocationChanged(Location location) { 

      // Do stuff 

      } 


     @Override 
     public void onProviderDisabled(String provider) { 

     } 

     @Override 
     public void onProviderEnabled(String provider) { 

     } 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) { 

     } 

    }; 

 

然後在您的onCreate()

 

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
cr = new Criteria(); 
cr.setPowerRequirement(Criteria.POWER_LOW); 
cr.setAccuracy(Criteria.ACCURACY_FINE); 
provider = lm.getBestProvider(cr,true); 
lm.requestLocationUpdates(provider, minTIME, minDISTANCE, locationListener); 

 
+0

謝謝Falmarri,但它並不適用於我的問題。我正在做的「//做的東西」是updateWithNewLocation(Location location)方法。 我的問題具體指的是在onCreate中什麼也沒有發生。第一行是對字符串postalString的更改 - 但是在打印出postalString時不會反映出來。我也假定下面的事情都沒有發生。 – Micheal 2010-08-23 22:27:45

+0

我的回答回答你的問題。沒有任何事情發生,因爲你的onLocationChanged方法是GetLocation的方法,而不是LocationListener。在你的代碼中,爲什麼你認爲onCreate()之後會發生什麼?你認爲什麼是調用你的其他方法? – Falmarri 2010-08-23 23:00:16

+0

只需用'updateWithNewLocation(位置)'替換'//做東西'' – Falmarri 2010-08-23 23:08:46

相關問題