Ошибка метода addChild в Flash Builder в пользовательском компоненте - PullRequest
0 голосов
/ 07 мая 2011

Я пытаюсь составить свернутый список, как в Google AdWords. Компилятор говорит мне, что addChild не является допустимым методом. Вот мой код:

package comps
{
import spark.components.Button;
import spark.components.Group;
import spark.components.TextArea;

public class CollapsibleList extends Group
{

    private var btn : Button = new Button();
    private var list : TextArea = new TextArea();

    public function CollapsibleList()
    {
        super();
        this.btn.width = 100;
        this.btn.height = 20;
        this.btn.label = "My Button";
        this.btn.top = 0;
        this.btn.left = 0;

        this.list.width = 100;
        this.list.height = 200;
        this.list.top = 20;
        this.list.left = 0;

        this.addChild(this.btn);
        this.addChild(this.list);
    }
}
}

Я называю это просто в main.mxml так:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           xmlns:comps="comps.*"
           minWidth="955" minHeight="600">

<comps:CollapsibleList/>

</s:Application>

Я предполагаю, что компилятор не лжет мне, так как мне заставить эти объекты (детей) появляться?

1 Ответ

0 голосов
/ 07 мая 2011

В Spark, фреймворке Flex 4, они как бы абстрагировали всю вещь addChild, потому что вы не работаете с DisplayList напрямую. Вместо этого вы должны добавить addElement () в группу.

Однако addElement требует, чтобы в качестве параметра был IVisualElement, если я правильно помню. По сути, если вы привыкли к старому AS3 «addChild ()», то вас ждет небольшая кривая обучения - отдача того стоит, но это может быть сложно.

Вот сообщение в блоге, которое, похоже, очень хорошо вписывается, надеюсь, это поможет: http://www.billdwhite.com/wordpress/?p=296

...