我有一个垂直标签栏,其中包含4个不同子标签的项目。所有这四个项目都使用来自单个xml文件的数据,这是一个大文件。当用户单击选项卡时,在加载数据时会显示此错误。
TypeError: Error #1009: Cannot access a property or method of a null object reference.
我想在加载xml文件时禁用所有选项卡。
答案 0 :(得分:1)
您可以将主应用程序设置为已禁用;这应该禁用所有孩子。使用enabled属性并将其设置为false。如果您也想停止鼠标交互,请务必将mouseEnabled属性设置为false。
答案 1 :(得分:0)
您可以显示将阻止所有事件的叠加组件。加载所有数据后,可以删除叠加层。
使其更酷,叠加可以使背景部分透明。
答案 2 :(得分:0)
通过绑定到您正在使用的数据上的getter和setter来控制启用/禁用属性。例如:
<mx:Script>
<![CDATA[
[Bindable]
public var myParsedXML:Object;
private var _myData:Object;
public function set myData(value:Object):void
{
//Check for null
if(value)
{
myTabs.enabled = true;
}
else
{
myTabs.enabled = false;
}
_myData = value;
}
public function get myData(value:Object):void
{
return _myData;
}
]]>
</mx:Script>
<mx:Binding source="myParsedXML" destination="myData" />
<mx:TabNavigator id="myTabs">
<mx:VBox label="tab 1">
</mx:VBox>
<mx:VBox label="tab 2">
</mx:VBox>
</mx:TabNavigator>
创建此属性后,您可以绑定它,并确保在设置数据时通知它。