문제

창조시 인스턴스화하는 수업이 있습니다.

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

Catalogstrip은 Hbox입니다.

이 수업에서는 vbox를 만들어 카탈로그 스트립에 어린이로 추가합니다. 다음은 상기 클래스의 생성자입니다.

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

마지막 줄에서는 ontainer가 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