0

我以前使用过这种方法并且一直有效,但今天我似乎在显示 SkinnablePopUpContainer 时遇到了一个主要问题:

我在 MXML 文件中有一个 SkinnablePopUpContainer。(移动应用程序,fb 4.6,air 3.4)

我以这种方式创建和显示弹出窗口:

public var su:setupdialog;


private function Showdialog():void{
                su = null;
                su = new setupdialog();
                su.addEventListener(CloseEvent.CLOSE,SetupClose);
                su.open(this,true);
                PopUpManager.centerPopUp(su);

        }

我还尝试了以下方法:

private function Showdialog():void{
                su = null;
                su = new setupdialog();
                su.addEventListener(CloseEvent.CLOSE,SetupClose);
                PopUpManager.addPopUp(su, this, true);
                su.open(this,true);
                PopUpManager.centerPopUp(su);

        }

问题似乎出在“this”全局变量上。我不断收到:

“ArgumentError:错误 #2025:提供的 DisplayObject 必须是调用者的子对象。”

我很茫然,因为我以前做过这件事,而且一切都奏效了。

有没有人遇到过这个?

4

1 回答 1

0

是的,你是对的this,应该是 DisplayObjectContainer,就像 Group、VGroup 类这样的任何容器一样。

第二个功能将不起作用 SkinnablePopUpContainer.open() 在内部添加您的弹出窗口,因此它可能不需要。

这个对我有用。

private function Showdialog():void
{
    su = null;
    su = new setupdialog();
    su.addEventListener(CloseEvent.CLOSE,SetupClose);
    su.open(this,true);
    PopUpManager.centerPopUp(su);
}
于 2013-02-07T07:33:31.890 回答