Aller au contenu

comment exécuter du code quand mapView finit d'être créée


fingerup

Recommended Posts

Bonjour à tous,

J'espère que ma question d'aujourd'hui vous inspirera plus que ma précédente :)

Je travail sur une MapView. Elle est créée dans le onCreate de mon activity. Puis a la fin de mon activity j'initialise pas mal de truc sur ma mapView, surtout en utilisant le width et height de ma mapView. Mais malheureusement tant que mon onCreate n'est pas fini ma mapView fait 0px de largeur et de hauteur, se qui fausse tous mes calcules.

Il faudrait que j'exécute tout mon code travaillant sur ma mapView une fois que celle ci est créée. Mais je ne vois pas comment faire. Il doit bien y avoir un listener ou une méthode qui est appelée quand ma view est créée...

Merci à vous...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

de nouveaux je m'auto répond.

Pour exécuter du code une fois la MapView construite il faut override la méthode onSizeChanged de la mapView. Comme ca, une fois que la mapView prendra ça taille finale, et donc sera construite, la méthode onSizeChanged sera appelée.

private class MyMapView extends MapView
{
   public MyMapView(Context context, String apiKey) {
       super(context, apiKey);
   }

   @Override
   protected void onSizeChanged(int w, int h, int oldw, int oldh){
       if(w > 0 && h > 0 && oldw == 0 && oldh == 0){
           //CODE
       }
   }
}

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...