我有一个我在创建完成时实例化的类:

public var catalog : AppCollection = new AppCollection (catalogStrip);

CatalogStrip是一个HBox。

在本课程中,我创建了一个VBox并将其作为子项添加到catalogStrip中。这是所述类的构造函数:

public function AppCollection (_container : HBox) {
    this.container = _container;
}

以下是我遇到问题的代码:

public function populate (e : ResultEvent) : void {
    var appImage : Image = new Image ();
    var appText : Text = new Text ();
    var appContainer : VBox = new VBox ();

    appImage.source = "./res/Halo.png";
    appImage.width = 70;
    appImage.height = 70;

    appText.text = "Halo 4";

    appContainer.width = 110;
    appContainer.height = 125;
    appContainer.addChild (appImage);
    appContainer.addChild (appText);

    tbox = appContainer;

    this.container.addChild (appContainer);
}

在最后一行,它表示this.container为null。不可能!我在构造函数中添加了它!此外,我还尝试实例化main.mxml并从那里访问容器。当我从main.mxml中的脚本标记尝试相同的代码时,它可以正常工作,但是这样就完全杀死了那里的类。如何从外部类访问MXML标记?我有我所有的进口和一切......

有帮助吗?

解决方案

public var catalog : AppCollection = new AppCollection (catalogStrip);

是main.mxml的脚本部分吗?如果是这样,那就是你得到一个空对象的原因。你需要一个方法:

public var catalog : AppCollection;

private function handleCreationComplete():void
{
    this.catalog = new AppCollection(catalogStrip);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top