Bonjour,
Est-ce qu'il est possible depuis une vue du stackview de déclencher l'affichage d'une autre vue ?
(par bouton de la vue qui permettrait par exemple de passer à la suivante)
Version imprimable
Bonjour,
Est-ce qu'il est possible depuis une vue du stackview de déclencher l'affichage d'une autre vue ?
(par bouton de la vue qui permettrait par exemple de passer à la suivante)
La réponse à ma question est ici : http://misho.ca/
mais j'en ai deux autres :
1. quand on change de vue dans une stackview tous les objets créés dans la vue sont automatiquement détruit ?
Il y a un moyen de contourner ce traitement ?
Faut-il déclarer des objets globaux et les passer en paramètre ?
2. comment accéder simplement à une méthode publique présente dans ma 1ere vue ?
Sachant que la vue est créée automatiquement comment peut on récupérer son handle ?
Non pas du tout. A l'inverse toutes les vues ne sont pas créées au chargement du ViewStack. Tout dépend de la valeur de creationPolicy.Citation:
quand on change de vue dans une stackview tous les objets créés dans la vue sont automatiquement détruit ?
Si tes vues sont des containers créés dans le même fichier mxml la question ne se pose pas, sauf par rapport aux composants mxml de chaque vue qui peuvent ne pas être tous créés au départ (cf. creationPolicy).Citation:
comment accéder simplement à une méthode publique présente dans ma 1ere vue ?
Après qu'est ce que tu entends exactement par une méthode publique d'une vue ? Donne des exemples...
Je suppose que par handle tu veux dire sa référence. Soit par son nom (id en mxml), soit par myViewStack.selectedChild.Citation:
Sachant que la vue est créée automatiquement comment peut on récupérer son handle ?
Merci pour ta réponse.
Toutes mes vues sont dans des fichiers différents, je n'ai pas fixé de valeur à creationPolicy mais avec getChildAt( x ) j'arrive à récupérer la vue qui m'intéresse et à lancer les méthodes que je veux.
Je ne sais pas si c'est la bonne méthode ?
C'est vague comme info : fichier inclus, fichier composant mxml, fichier AS3, module...Citation:
Toutes mes vues sont dans des fichiers différents
Consulte la doc de creationPolicy car tu peux avoir des erreurs d'exécution en appelant des objets non encore instanciés ?
Effectivement actuellement ça marche mais c'est peut être un coup de chance.
Je vais gratter un peu du côté du creationPolicy, si je trouve des choses intéressantes je les posterai.
Bonjour,
J'ignore si celà pourra répondre à ta question, mais à toute fin utile.
Et merci à Jim ;)
http://www.developpez.net/forums/d78...le-navigation/
Cette technique fonctionne uniquement si toutes les vues sont dans la même fenêtre.
Mes vues sont des composants dans des fichiers séparés, le seul moyen de communiquer avec elles et de leur passer en paramètre le stackview de ma fenêtre d'origine, comme dans l'exemple que j'ai donné plus haut.
C'est pas forcément utile de passer le ViewStack en parametre car il est accessible via la propriété parent.
Pour la communication entre les pages tu peux utiliser des événements.
J'ai pas pensé à utiliser la propriété parent je vais faire un test ce soir.
Sinon quelle est la meilleure méthode ? utiliser les événements ?
Il n'y a pas de "meilleures" méthode dans l'absolue, mais ce cas précis, au vu de ce je comprends, je pense que l'utilisation d'événements me parait meilleur.
Tout dépend aussi de ton implémentation. Si tu utilises par exemple une classe abstraite comme classe de base de tes pages, certains traitements communs peuvent être implémentés à ce niveau.
Je te remercie pour toutes ces précisions ! :ccool: