Abrir vista de un ViewStack a través de un enlace (boton o etiqueta)

62 views
Skip to first unread message

Rafael Berral

unread,
Aug 30, 2012, 9:20:49 AM8/30/12
to madei...@googlegroups.com
Buenas tardes,

tengo una pequeña duda, os cuento:

Tengo definido dentro de un mxml (contenedor.mxml) un Viewstack y un linkBar correspondiente, para poder navegar por las diferentes vistas creadas.
Hasta ahi todo bien. El problema viene cuando, dentro de una de esas vistas, quiero añadir un enlace (a traves de un boton o una etiqueta) que al pulsarlo me lleve a una vista concreta.
Lo que ocurre es que solo tengo acceso al Viewstack en "contenedor.mxml".

He intentado crear en "contenedor.mxml" un metodo estatico para poder acceder al ViewStack y seleccionar la vista que quiero. A continuacion os pongo el metodo y el error:

<code>
public static function cambiaVistaMenu(numero:uint):void{
vistas_menu.selectedIndex = numero;
}
</code>

ERROR:
1120: Access of undefined property vistas_menu. contenedor.mxml

donde "vistas_menu" es el nombre del ViewStack.


Lo único que se me ocurre es definir un Viewstack "estático" y que este disponible para todo el proyecto, pero no creo que sea posible...


Bueno espero haberme explicado correctamente y que alguien me pueda echar una mano.

Un saludo.
 

Gustavo Laotshi

unread,
Aug 30, 2012, 11:09:33 AM8/30/12
to madei...@googlegroups.com
puedes usar this.parentApplication.vistas_menu, this,parent.vistas_menu y así poder acceder a la propiedad, o puedes hacer un debugger, para que veas la propiedad que contiene vistas_menu. Saludos.

 

--
Has recibido este mensaje porque estás suscrito al grupo "madeinflex" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/madeinflex/-/Ps56NqDLqbMJ.
Para publicar una entrada en este grupo, envía un correo electrónico a madei...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a madeinflex+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/madeinflex?hl=es.



--
Ing. Gustavo Laotshi Sánchez Estrada

Rafael Berral

unread,
Aug 31, 2012, 1:27:36 PM8/31/12
to madei...@googlegroups.com
Buenas Laoth,

he usado lo que me has dicho pero nada, sigo sin poder ver el ViewStack...

El debugger no puedo utilizarlo porque me da problemas (Me baje el adobe debugger con la misma version de adobe flash que tenia instalado y he intentado ponerlo en marcha pero sigue sin funcionar, :S).
Me puedes explicar de todas formas lo del tema del dedugger? o sea, para ver la propiedad de vistas_menu y que puedo hacer con ella.

Muchas gracias!

Un saludo.

Sergi Dote

unread,
Aug 31, 2012, 1:32:22 PM8/31/12
to madei...@googlegroups.com

Que versión de flex usas?

Para ver este debate en la Web, visita https://groups.google.com/d/msg/madeinflex/-/DdJenlXtfJYJ.

Rafael Berral

unread,
Aug 31, 2012, 2:01:43 PM8/31/12
to madei...@googlegroups.com
La version de Adobe Flash Builder es la 4.5

Sergi Dote

unread,
Aug 31, 2012, 2:03:02 PM8/31/12
to madei...@googlegroups.com

Y la de flex? Lo digo porque si usas la 4 o superior, te recomiendo que uses estados en lugar de view stacks

Rafael Berral

unread,
Aug 31, 2012, 2:16:28 PM8/31/12
to madei...@googlegroups.com
Pues pensaba que la version de flex era la misma que la del IDE flash builder.... :S.
Me diras que estoy atontao pero no sé mirar la version de Flex que tengo...como puedo saberlo¿?

Si es por el tema de las etiquetas que uso en FlashBuilder, pues a veces uso las de Flex  4.5 y otras veces uso versiones anteriores...no se si te sirve de algo.

De nuevo gracias!

Gustavo Laotshi

unread,
Aug 31, 2012, 2:17:32 PM8/31/12
to madei...@googlegroups.com
LA versión del Flex se refiere al SDK que estás utilizando, eso viene cuando creas un nuevo proyecto de Flex, ahí que dice que versión estás utilizando o en las propiedades del proyecto.

Rafael Berral

unread,
Aug 31, 2012, 2:22:17 PM8/31/12
to madei...@googlegroups.com
Perfecto Laoth! lo he mirado y uso la version 4.5.

Gracias! :D

Rafael Berral

unread,
Aug 31, 2012, 2:28:19 PM8/31/12
to madei...@googlegroups.com
Ya funcionaa! :D
Era por el Chrome entonces, porque es el navegador que yo uso actualmente.
He probado con el Mozilla y funciona.

Me puedes explicar para que me sirve ver las propiedades del viewstack¿?

Gracias a todos por la ayuda!


El viernes, 31 de agosto de 2012 20:22:17 UTC+2, Rafael Berral escribió:
Perfecto Laoth! lo he mirado y uso la version 4.5.
Ing. Gustavo Laotshi Sánchez Estrada

Gustavo Laotshi

unread,
Aug 31, 2012, 2:47:49 PM8/31/12
to madei...@googlegroups.com
Ejecuta el debugger y ve que propiedades te está mostrando en el objeto this para que veas como puedes acceder, pero primero tu aplicación debe estar compilada correctamente, osea que no te muestre ningún error.

--
Has recibido este mensaje porque estás suscrito al grupo "madeinflex" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/madeinflex/-/m7dxhed3UCQJ.

Para publicar una entrada en este grupo, envía un correo electrónico a madei...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a madeinflex+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/madeinflex?hl=es.



--

Rafael Berral

unread,
Sep 2, 2012, 6:23:58 AM9/2/12
to madei...@googlegroups.com
Buenas de nuevo,

despues de hacer un debug y hacer las comprobaciones pertinentes para encontrar el Viewstack...no he conseguido encontrarlo.

He encontrado un par de soluciones que me sirven en principio: Una mediante un singleton (contiene una variable tipo "uint" que será el index del viewstack) y otro mediante una variable estatica (contiene una variable tipo "uint" que será el index del viewstack). Asi puedo acceder a ellas desde cualquier parte de mi aplicacion.
Y para que funcione, he puesto en el viewstack: selectedIndex="{xxxxx}" siendo xxxxx la variable estatica o la variable del viewstack.
Por ultimo, tengo un LinkButton que al pulsarlo cambia el valor de la variable ó singleton y me muestra la vista que quiera.

Una vez explicado esto, me ha surgido un problema: la primera vez que pulso sobre el boton funciona perfect, pero cuando vuelvo a pulsarlo ya no funciona...sabeis a que se puede deber eso¿?

muchas gracias y un saludo.
 

Rafael Berral

unread,
Nov 14, 2012, 8:47:01 AM11/14/12
to madei...@googlegroups.com
Hace un tiempo encontré la solución a este problema. La explico aqui por si a alguien le sirve:

Mi problema era que al crear un linkbutton (por ejemplo), no mostraba la vista que queria del Viewstack (a traves del evento "click"), o me la mostraba pero solo al hacer el primer click (el resto de los clicks no funcionaba).
Pues bien, encontré que en la version de Flex 4.5 (o alomejor a partir de la version 4.0), habia cambiado ligeramente la opcion de llamada al viewstack para cambiar las vistas. Aqui pongo el evento "click" de mi linkbutton:

click="FlexGlobals.topLevelApplication.vistas_menu.selectedIndex=2"

Donde "vistas_menu" es el id del ViewStack y el numero 2 corresponde a la vista que quiero mostrar. No os preocupeis si al poner el autompletar de Flashbuilder no os aparece el Viewstack...ponedlo que os funciona, :D.


Bueno un saludo y agradeceros vuestra ayuda!
Reply all
Reply to author
Forward
0 new messages