J'ai un gestionnaire qui reçoit un message sur chaque mise à jour de l'emplacement, toutes les 5 secondes. De l'endroit où je peux demander la ville actuelle dans laquelle l'utilisateur emménage. Ensuite, je veux télécharger des données une seule fois et seulement quand la ville change. Comment puis-je réaliser cela?UpdateHandler, faire une chose seulement quand le déclencheur est vrai, Android
Handler myViewUpdateHandler = new Handler(){
public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATE_LOCATION:
mc.animateTo(geosenseo.getCurrentPoint());
mapView.invalidate();
//a async task sets the currentCity field
if(trigger && (currentCity != "")){
firstCity = currentCity;
trigger = false;
}
if((currentCity != "") && (firstCity != "")){
if(firstCity != currentCity){
//download only when city changes
trigger = true;
}
}
}
super.handleMessage(msg);
}
};
comme vous pouvez le voir J'ai joué avec les vars. des idées? grâce
Comment obtenez-vous la ville actuelle de l'emplacement? – Pentium10
dans le code qui est marqué avec // une tâche asynchrone définit le champ currentCity Je démarre une asynctask, qui en arrière-plan télécharge des géodonnées, dans ce cas la ville, j'utilise geocoder de importer android.location.Address; import android.location.Geocoder; –