<?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”?
答案 0 :(得分:1)
在Spark中,“s:HGroup”不再是像“HBox”这样的DisplayObject。可以仅用于布局和灌浆。因此,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>
答案 1 :(得分:1)
Adrian Pirvulescu所说的内容大部分都是不真实的。 HGroup也是一个DisplayObject,最重要的是,它也是一个UIComponent,就像它被弃用的对手HBox一样。因此,它具有updateDisplayList方法。
您收到的警告似乎是Flash Builder中的一个错误,在尝试调用任何超级保护方法时出现。虽然它不会打扰实际的编译器,并且应用程序仍然有效,但它确实在文件中显示恼人的黄色警告。我还没有找到解决方案。