Bonjour à tous,
Débutant en flex, je me trouve confronté à un petit problème que je vais tenter de vous expliquer.
J'ai besoin d'un tabNavigator, qui aura du contenu avec exactement la même structure dans chaque onglet (une applicationContolBar avec quelques champs de formulaires et boutons, + un conteneur html (le projet est en AIR).
Pour éviter de dupliquer le code, j'ai donc décidé de créer un petit composant qui contiendrait la barre de navigation et le conteneur html, pour l'inclure dans chaque onglet. Ca me donne donne quelque chose du genre :
Mon composant est caractérisé par un fichier MXML et un fichier .as
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <mx:TabNavigator id="tn" width="100%" height="100%" creationPolicy="all"> <mx:VBox label="Annuaire 1" id="ann1"> <cpt:Moncomposant id="refi"/> </mx:VBox> <mx:VBox label="Annuaire 2" id="ann2"> <cpt:Moncomposant id="ref2"/> </mx:VBox> <mx:VBox label="Annuaire 3" id="ann3"> <cpt:Moncomposant id="ref3"/> </mx:VBox> </mx:TabNavigator>
Le fichier MXML décrit l'interface. J'ai placé des id aux composants pour pouvoir les manipuler depuis le fichier as.
Lorsque mon composant est completement créé, je déclanche la fonction init qui ajoute va aller interroger ma base de données pour me retouner une url, que je souhaite mettre en location sur le composant HTML de mon onglet (chaque url retournée est différente, donc chaque onglet devrait afficher une page différente).
Le code qui correspond :
et un extrait de la gestion de la réponse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 webServ.getUrl.addEventListener(ResultEvent.RESULT, this.getUrl_RESULT); main.webServ.getUrl();
Et le probleme vient de la dernière ligne. L'url est appliquée sur chaque composant HTML de mon tabNavigator....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var url:String = rep.url; idDeMonComposantHTML.location = url;
Avez vous une idée de la cause du problème ?
J'espere avoir expliqué mon problème assez clairement.
Merci d'avance
Ps: En supprimant le listener dès la réception de la réponse, et en chargeant les onglets les uns après les autres, je n'ai pas le probleme. Mais lorsque que je les charge tous à l'initialisation (creationPolicy="all") même la suppresion du listener ne change rien...
Partager