如何使用变量更改代码中的应用程序状态?当我提供一个静态字符串时,它工作正常,但没有变量。Flex 3:如何使用变量更改代码中的状态
例如,这个工程: (母公司为mx.core.Application,).currentState = '历史'
这并不: (母公司为mx.core.Application,).currentState = @data
是的,我知道@data正在填充,因为我打印在一个警告框中。是的,我已经尝试过 “currentState = @data” 和“currentState = '@data' 可悲的是,他们没有工作
这是菜单对象:。
<mx:MenuBar id="mnuMain" labelField="@label" itemClick="menuHandler(event);">
<mx:XMLList>
<menuitem label="File">
<menuitem label="Exit" data="exit" />
</menuitem>
<menuitem label="View">
<menuitem label="Home" data="home" />
<menuitem label="Monitor" data="impmon" />
<menuitem label="History" data="history" />
<menuitem label="Tables" data="tables" />
<menuitem label="Schema View" data="schema" />
</menuitem>
</mx:XMLList>
</mx:MenuBar>
这里是处理程序:
private function menuHandler(event:MenuEvent):void {
var newstate:String;
newstate = @data.toString();
(parent as mx.core.Application).currentState = newstate;
}
哪里是符号@来自(哪里?我认为你需要确保数据是一个位于states数组中的字符串类型的变量。 – Wes 2010-07-28 20:37:50
尝试event.item。@ data.toString() – JustLogic 2010-07-28 21:18:08