2010-12-29 1 views
0

je suis jouer avec les vues de la classe de navigateur et sur mesure dans l'air pour Android et le Flex HERO SDKTerminate Navigator Air Vues

mon problème est qu'il semble qu'il n'y ait aucun moyen comment mettre fin à une vue. Je commence une vue en utilisant navigator.pushview (myView).

puis, lorsque vous utilisez le bouton de retour, je veux fermer ce point de vue et revenir au menu principal. donc j'écoute l'événement onKeyDown Keyboard.BACK en utilisant event.preventDefault() pour empêcher l'application d'exécuter l'action par défaut "revenir en arrière" et le navigator.pushview (myOtherView) pour revenir au menu principal.

mais le problème est que la vue MyView semble encore être en cours d'exécution en arrière-plan.

maintenant je suis à la recherche d'un moyen de mettre fin à ce myView et tout ce qui est en cours d'exécution au sein de (atm, si j'accéder à la came, la came est toujours active, même si la vue n'est plus actif)

quelqu'un peut-il aider?

Répondre

1

En supposant que les fonctions du navigateur fournisseur de données comme ArrayCollection vous pourriez faire quelque chose comme navigator.removeItemAt(navigator.getItemIndex(myView)); Puis, éteignez l'appareil photo et, en fin de compte, supprimez toutes les poignées de la myView, et réglez-le sur null, pour que le GC le récupère.

Attention, la syntaxe peut différer lorsque vous souhaitez retirer l'élément. Je n'ai jamais utilisé le navigateur ..

+0

oui, j'ai essayé ça. le navigateur a sa propre syntaxe et il est possible d'effacer le navigateur (imaginez que le navigateur fonctionne comme une pile qui stocke toutes les vues de sorte que vous puissiez toujours revenir en arrière). mais l'effacer (qui est le même que removeItemAt) fait juste que la pile est vide mais les vues sont toujours présentes et actives. – masi

+0

Le reste de mon explication après removeItemAt, était d'indiquer, que lorsque vous le retirez du navigateur, prendre l'instance enlevé (removeItemAt le retourne à vous) et appelez vos propres méthodes pour arrêter la vue, et la libération des evenlisteners détenus par la vue/tout eventlisteners à l'écoute de la vue. Ensuite, GC peut le ramasser. Vous pourriez terminer le proc. en faisant un item = null ... – NielsBjerg

Questions connexes