1

我在 adobe flex 中遇到了一个非常奇怪的问题,我不知道如何解决它。在我的主应用程序启动之前,我有一个在 creationComplete 上调用的弹出框。弹出窗口只要求输入电子邮件地址,然后启用应用程序,在标签组件中显示电子邮件地址。

但是,当我尝试从应用程序中名为 UserID.text 的标签组件访问电子邮件地址时,即使它在标签框中可见,它也始终为空......它似乎以某种方式失去了状态......所以我怎么能不让它失去状态?我需要在整个应用程序的使用过程中访问标签或某些变量,而我尝试的所有内容总是以空变量结束???

设置标签的应用程序的主要部分在这里:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:controls="com.iwobanas.controls.*" xmlns:local="*" creationComplete="showWindow(true)">
private function showWindow(modal:Boolean):void
{
  var logonWindow:LogonWindow = new LogonWindow();
  logonWindow.addEventListener("logon", logonHandler);
  PopUpManager.addPopUp(logonWindow, this, modal);
  PopUpManager.centerPopUp(logonWindow);
}
public function logonHandler(event:LogonEvent):void
{
   UserID.text=event.userId;

}

任何帮助将不胜感激。

4

1 回答 1

1

将 id 作为 Bindable 变量存储在您的应用程序中,而不是直接设置文本输入。

[Bindable]
private var logonId:String;

public function logonHandler(event:LogonEvent):void
{
   logonId=event.userId;
}

<mx:TextInput text="{logonId}" />
于 2009-11-04T15:16:43.007 回答