有Flex 4中的任何事件,我可以用它來檢測狀態變化?的Flex 4:狀態改變事件
8
A
回答
9
如果你在說視圖狀態的答案是肯定的,你可以像這樣監聽enterState事件(對於簡單的例子來說很抱歉,它是我正在工作的一個項目的一部分,我刪除了任何相關的部分的代碼):
<?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>
而且有一個exitState事件,以防您需要它。我希望這可以幫助你。
15
我知道這個問題是舊的,但通過google搜索狀態更改事件我還是到這裏所以人們想知道:
有是由組件派出StateChangeEvent.CURRENT_STATE_CHANGE
活動,讓您的應用程序還可以聽聽那個。
在監聽功能,您可以再存取權限的StateChangeEvent.oldState
和StateChangeEvent.newState
性能。
0
有多種狀態的事件,你可以監聽任何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
- 2. 在CQRS中改變事件的狀態
- 3. 的Android:按鈕狀態改變事件
- 4. flex 4 button down狀態
- 5. flex 4狀態(用作beta?)
- 6. 用函數改變狀態 - Flex
- 7. Flex 4/Flash 4加入當前狀態
- 8. HGroup中的Flex 4按鈕狀態
- 9. NSStream處理事件給予狀態4
- 10. Reactjs - 在子組件更新狀態時,父componend狀態改變
- 11. 在flex中切換狀態4
- 12. Flex 4 Itemrenderer更新事件?
- 13. 改變狀態
- 14. Flex 4皮膚:根據父容器狀態更改皮膚
- 15. 按鈕狀態更改標籤顏色(FLex 4)
- 16. Flex 4更改風格選項與狀態
- 17. 設置不同狀態的控件的屬性? - Flex的4
- 18. Flex - 改變和focusOut在一個事件?
- 19. 如何更改Flex中不同狀態下組件的可見性4
- 20. Flex/MXML:狀態內狀態?
- 21. C#事件更改發件人狀態
- 22. 在FLEX調用MXML組件從主類的狀態圖4
- 23. 形態改變事件
- 24. Flex 4.5:狀態與組件
- 25. 如何收聽軟鍵盤的狀態改變事件?
- 26. 呼應的mootools的事件「然後」變量的狀態變種已經改變
- 27. Flex 3:如何使用變量更改代碼中的狀態
- 28. Flex 4:組件移動事件
- 29. Magento訂單狀態更改事件
- 30. 捕獲網絡狀態更改事件