J'essaie de créer une chaîne avec les coordonnées GPS d'origine et de destination à des fins de cartographie google. La première chose que je dois faire est d'obtenir les coordonnées GPS de mon emplacement actuel, puisque c'est le point d'origine. Ensuite, j'ai besoin de concaténer ces coordonnées dans une plus grande chaîne que j'utilise pour obtenir des directions.Problème de séquençage Android onCreate
J'ai le code qui obtient ces coordonnées, ainsi que le code qui les concatène dans le format de chaîne correct. Cependant, mon problème est que mon code de construction de chaîne exécute d'abord, ce qui me laisse avec des problèmes de pointeur nul puisque la chaîne fait référence aux coordonnées GPS qui n'ont pas encore été traitées.
La voici. La méthode gotLocation() vient de mettre en œuvre des conseils dans ce post:
Public class DirectionsActivity extends Activity {
String myLat, myLng;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Parser parser;
LocationResult locationResult = new LocationResult(){
@Override
public void gotLocation(final Location location){
try {
Double lat = location.getLatitude();
Double lng = location.getLongitude();
if (lat != 0.0 && lng != 0.0) {
myLat = Double.toString(lat);
myLng = Double.toString(lng);
String gps_location = myLat + " " + myLng;
Toast.makeText(getBaseContext(), "First Message", Toast.LENGTH_SHORT).show();
}
}catch (Exception e) {
}
}
};
MyLocation myLocation = new MyLocation();
myLocation.getLocation(this, locationResult);
Toast.makeText(getBaseContext(), "Second Message", Toast.LENGTH_LONG).show();
buildString();
setContentView(R.layout.activity_directions);
}
La sortie de pain grillé quand je lance c'est « deuxième message » suivi de « Premier message ». Ils devraient afficher dans l'ordre inverse.
Vous ne pouvez pas afficher "SecondMessage" après "FirstMessage" si vous utilisez le code de cette question: http://stackoverflow.com/questions/6894195/getting-android-location-and-return-unknown -ou-null-when-providers-are-unavail. Faites 'buildString()' dans 'gotLocation'. –