2009-05-03 9 views
0

からのアクセスMXML私は作成時に完全にインスタンス化するクラスを持っている:フレックス:クラス

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

CatalogStripはHBoxのです。

このクラスでは、VBoxを作成し、それをchildとして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タグにアクセスするにはどうすればよいですか?私はすべての輸入品とすべてを持っています...

答えて

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

main.mxmlのスクリプト部分にありますか?そうであれば、それはあなたがヌルオブジェクトを取得している理由です。方法が必要です:

public var catalog : AppCollection; 

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