¿Hay algún evento en Flex 4 que pueda usar para detectar un cambio de estado?Flex 4: Evento de cambio de estado
Respuesta
Si está hablando de estados de vista la respuesta es sí, puede escuchar el evento enterState de esta manera (lo siento por la simplicidad del ejemplo, es parte de un proyecto en el que estoy trabajando y eliminé las partes relevantes del código):
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="800" minHeight="600"
currentState="loading">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private function onEnterLoadingState():void{
Alert.show("Enter the loading state.", "Application");
}
private function onEnterLoginState():void{
Alert.show("Enter the login state.", "Application");
}
private function onEnterAddState():void{
Alert.show("Enter the addUser state.", "Application");
}
private function changeState(state:String):void{
currentState = state;
}
]]>
</fx:Script>
<s:states>
<s:State name="loading" enterState="onEnterLoadingState()"/>
<s:State name="login" enterState="onEnterLoginState()"/>
<s:State name="addUser" enterState="onEnterAddState()"/>
</s:states>
<s:Panel id="loadView" includeIn="loading" title="Loading">
<s:Button label="Go to login" click="changeState('login')"/>
</s:Panel>
<s:Panel id="loginView" includeIn="login" title="Login">
<s:Button label="Go to addUser" click="changeState('addUser')"/>
</s:Panel>
<s:Panel id="addView" includeIn="addUser" title="AddUser">
<s:Button label="Return to loading" click="changeState('loading')"/>
</s:Panel>
</s:Application>
Y hay un evento exitState en caso de que lo necesite. Espero que esto te ayude.
Sé que esta pregunta es viejo, pero buscando en Google para los eventos de cambio de estado me dan aquí por lo que para la gente que quiera saber:
hay un evento StateChangeEvent.CURRENT_STATE_CHANGE
que se distribuye por el componente, por lo que su aplicación también puede escucha eso.
En su función de oyente, puede acceder a las propiedades StateChangeEvent.oldState
y StateChangeEvent.newState
.
hay varios eventos de estado se pueden detectar en cualquier clase UIComponent:
- FlexEvent.STATE_CHANGE_COMPLETE
- FlexEvent.STATE_CHANGE_INTERRUPTED
- StateChangeEvent.CURRENT_STATE_CHANGING
- StateChangeEvent.CURRENT_STATE_CHANGE
- FlexEvent. ENTER_STATE
- FlexEvent.EXIT_STATE
MXML:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
enterState="windowedapplication1_enterStateHandler(event)"
exitState="windowedapplication1_exitStateHandler(event)"
currentStateChange="windowedapplication1_currentStateChangeHandler(event)"
currentStateChanging="windowedapplication1_currentStateChangingHandler(event)"
stateChangeInterrupted="windowedapplication1_stateChangeInterruptedHandler(event)"
stateChangeComplete="windowedapplication1_stateChangeCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function windowedapplication1_stateChangeCompleteHandler(event:FlexEvent):void
{
}
protected function windowedapplication1_stateChangeInterruptedHandler(event:FlexEvent):void
{
}
protected function windowedapplication1_currentStateChangeHandler(event:StateChangeEvent):void
{
var oldState:String = event.oldState;
var newState:String = event.newState;
}
protected function windowedapplication1_currentStateChangingHandler(event:StateChangeEvent):void
{
var oldState:String = event.oldState;
var newState:String = event.newState;
}
protected function windowedapplication1_enterStateHandler(event:FlexEvent):void
{
}
protected function windowedapplication1_exitStateHandler(event:FlexEvent):void
{
}
]]>
</fx:Script>
</s:WindowedApplication>
- 1. Flex 4 Scroller
- 2. estado Cambio CheckBox sin llamar OnClick evento
- 3. Evento de reenvío en FLEX
- 4. Necesita un evento de cambio de casilla para responder al cambio del estado comprobado hecho programáticamente
- 5. Visualización de SVG en Flex 4
- 6. Flex 4: Valor de CSS personalizado
- 7. Centrado de contenido en Flex 4
- 8. Etiqueta y selección de Flex 4
- 9. parentApplication y FlexGlobals.topLevelApplication en Flex 4
- 10. Span cambio elemento evento
- 11. Flex 4 deslizante con dos pulgares
- 12. cómo atrapar un evento de cambio de estado UNA VEZ con history.js?
- 13. Cancelar/Anular/Confirmar un evento de cambio de estado HTML 5 (onpopstate)
- 14. Cómo manejo el evento click en el control Spark List en Flex 4
- 15. Flex 4 detectar si el usuario presiona la tecla enter
- 16. Evento de cambio de texto de Backbone.js
- 17. VBA Hoja de evento de cambio de
- 18. detección de estado inactivo Silverlight 4 aplicación
- 19. evento de cambio de entrada oculta
- 20. entrada de texto html Evento de cambio
- 21. WPF: evento de cambio de tamaño GridViewColumn
- 22. JQuery detección Evento de cambio de programa
- 23. jQuery - Evento de cambio de incendio
- 24. Cómo supervisar el cambio de estado SIM
- 25. UIButton retraso en el cambio de estado
- 26. cambio activo Xcode tipo de generación 4
- 27. Evento de cambio de desencadenante del menú desplegable
- 28. Cambiar el color de una chispa Flex 4 Botón
- 29. Evento Silverlight 4 + MVVM + KeyDown
- 30. evento de cambio del campo oculto html