2009-05-03 64 views
0

訪問MXML我有我在創建完整實例化一個類:軟硬度:從

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爲空。不可能!我將它添加到構造函數中!此外,我還嘗試實例化main.mxml並從那裏訪問容器。當我從main.mxml中的腳本標記中嘗試相同的代碼時,它可以工作,但是這首先殺死了那裏的類。我如何從外部類訪問MXML標籤?我有我的所有進口和一切...

回答

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

是否在main.mxml的腳本部分?如果是這樣,那就是你得到空對象的原因。你需要有一個方法:

public var catalog : AppCollection; 

private function handleCreationComplete():void 
{ 
    this.catalog = new AppCollection(catalogStrip); 
}