Pergunta

Eu tenho uma aula que instancie na criação completa:

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

CatalogStrip é um hbox.

Nesta classe, crio um Vbox e a adiciono quando criança para catalogástrip. Aqui está o construtor da aula:

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

E aqui está o código com o qual estou tendo problemas:

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);
}

Na última linha, diz que isso. Impossível! Eu adicionei no construtor! Além disso, também tentei instanciar o main.mxml e acessar o contêiner a partir daí. Quando tento o mesmo código de uma tag de script no main.mxml, ele funciona, mas isso mata o objetivo de ter a classe lá em primeiro lugar. Como posso acessar as tags mxml de uma classe externa? Eu tenho todas as minhas importações e tudo ...

Foi útil?

Solução

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

A parte da parte do script do main.mxml? Nesse caso, é a razão pela qual você está recebendo um objeto nulo. Você precisa ter um método:

public var catalog : AppCollection;

private function handleCreationComplete():void
{
    this.catalog = new AppCollection(catalogStrip);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top