Вызов возможной неопределенной функции updateDisplayList в новом классе HGroup? - PullRequest
0 голосов
/ 22 февраля 2012
<?xml version="1.0" encoding="utf-8"?>
<s:HGroup xmlns:fx="http://ns.adobe.com/mxml/2009" 
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300">
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            override protected function updateDisplayList( unscaledWidth : Number, unscaledHeight : Number ) : void
            {
                super.updateDisplayList( unscaledWidth, unscaledHeight );
            }

        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
</s:HGroup>
  • super.updateDisplayList (unscaledWidth, unscaledHeight);

  • почему выдается "Вызов возможной неопределенной функции updateDisplayList"?

Ответы [ 2 ]

1 голос
/ 26 ноября 2012

То, что сказал Адриан Пирвулеску, в основном не соответствует действительности.HGroup также является DisplayObject, и, что наиболее важно, это также UIComponent, как его устаревший аналог, HBox.И как таковой, он имеет метод updateDisplayList.

Полученное предупреждение, похоже, является ошибкой в ​​Flash Builder, которая появляется при попытке вызвать любой сверхзащищенный метод.Хотя это не беспокоит фактического компилятора, и приложение все еще работает, оно отображает в файле раздражающее предупреждение желтого цвета.Я еще не нашел решение этой проблемы.

1 голос
/ 22 февраля 2012

В Spark «s: HGroup» больше не является объектом DisplayObject, таким как «HBox».Может использоваться только для разметки и группирования.Таким образом, цвет фона или что-то еще не может быть обновлено в HGroup.

Следовательно, у него нет метода updateDisplayList () внутри.

Я предлагаю обернуть ваш компонент внутри SkinableContainer и использовать следующее«обходной путь» (если вы все еще хотите остаться с искрой)

<?xml version="1.0" encoding="utf-8"?>
<s:SkinnableContainer
          xmlns:fx="http://ns.adobe.com/mxml/2009" 
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300">
<s:HGroup width="100%" height="100%" >
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            override protected function updateDisplayList( unscaledWidth : Number, unscaledHeight : Number ) : void
            {
                super.updateDisplayList( unscaledWidth, unscaledHeight );
            }

        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
</s:HGroup>
</s:SkinnableContainer>
...