【问题标题】:spark titlewindow - gettin back data to the main applicationspark titlewindow - 将数据返回到主应用程序
【发布时间】:2011-10-26 15:39:31
【问题描述】:

我创建了一个 spark 标题窗口(使用 mxml 组件),在那里我选择了一些东西并希望它返回到主应用程序变量。 例如,在主应用程序中,我有一个var name currmaxplayers:int和title windows中,我创建了一个表单,您可以选择该表单,在选择号码然后按下提交按钮时,我希望选择的数字已选择为回到 MainApplication 中的 currMaxPlayers 变量。 我已按照http://help.adobe.com/en_US/flex/using/WS6c678f7b363d5da52e8f1ca1124a0430dcf-8000.html 此处的说明进行操作,但没有成功。

谢谢

【问题讨论】:

  • 显示层次结构中的 TitleWindow 相对于主应用程序在哪里?你是用 PopUpManager 打开 titleWindow 吗?还是其他方式?
  • 我能够让它与事件一起使用 :) 感谢 flextras,是的,我正在使用 popupmanager 打开它

标签: actionscript-3 apache-flex


【解决方案1】:

假设您使用 PopUpManager 打开自定义 TitleWindow,PopUpManager 应该调度一个自定义事件,其中包含玩家数量值,并且打开 TitleWindow 的组件可以侦听该事件。不写正式测试,代码如下:

// In The component that creates the TitleWindow:
var newTitleWindow : MyTitleWindow = new MyTitleWindow();
newTitleWindow.addEventListener('numberOfPlayersChanged', onNumberofPlayersChanged); 
PopUpManager.addPopUp(newTitleWindow , this );

您的自定义事件类:

package events
{
    import flash.events.Event;

    public class MyEvent extends Event
    {
        public var numberOfPlayers:int;

        public function MyEvent (type:String, bubbles:Boolean=false, cancelable:Boolean=false)
        {
            super(type, bubbles, cancelable);
        }
    }
}

在标题窗口中,调度该事件:

var newEvent : MyEvent = new MyEvent('numberOfPlayersChanged')
newEvent.numberOfPlayers = // whatever procedure you use to get the number of players
dispatchEvent(newEvent);

然后回到创建标题窗口的模板:

protected function onNumberofPlayersChanged(event:MyEvent):void{
  trace(event.numberOfPlayers);
  // do something else with number of players
}

【讨论】:

    猜你喜欢
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多