Flex:クラスからMXMLにアクセスする
-
03-07-2019 - |
質問
作成完了時にインスタンス化するクラスがあります:
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のスクリプト部分にありますか?もしそうなら、それはあなたがnullオブジェクトを取得している理由です。メソッドが必要です:
public var catalog : AppCollection;
private function handleCreationComplete():void
{
this.catalog = new AppCollection(catalogStrip);
}
所属していません StackOverflow