我有一个配置xml文件,我需要在Flex应用程序加载之前解析该文件的值。
我已经创建了一个静态类,它允许检索xml配置文件中的值。
当应用程序第一次加载时,我初始化了这个类,但是由于xml文件是用一个Loader类加载的,这个Loader类同步加载了一个,所以在xml文件实际加载之前,类被要求提供值-所以它抛出了一个错误。
有没有方法可以同步加载这个xml文件或者有没有人可以建议一个解决方法?我们不能将这个文件作为类变量嵌入,因为我们需要能够远程更改这些值。
我有一个配置xml文件,我需要在Flex应用程序加载之前解析该文件的值。
我已经创建了一个静态类,它允许检索xml配置文件中的值。
当应用程序第一次加载时,我初始化了这个类,但是由于xml文件是用一个Loader类加载的,这个Loader类同步加载了一个,所以在xml文件实际加载之前,类被要求提供值-所以它抛出了一个错误。
有没有方法可以同步加载这个xml文件或者有没有人可以建议一个解决方法?我们不能将这个文件作为类变量嵌入,因为我们需要能够远程更改这些值。
5条答案
按热度按时间8ftvxx2r1#
您将需要覆盖set initialized函数。
hfwmuf9z2#
如何使用状态呢?默认状态在xml加载时显示一个微调器,并且加载过程的complete事件的处理程序更改为另一个状态,该状态删除微调器并添加主容器。
不,您不能在Flex中同步加载文件。
gk7wooem3#
很好的技巧,Quoo,但是...必须处理XML文件在框架调用initialized = true之前已经加载的情况。
大概是这样的:私有var _fileLoaded:布尔值=false;
参数值为false;
私有函数xmlCompleteHandler(事件:事件):void
//处理xml
_fileLoaded =真;
=_文件已加载并已初始化;
}
覆盖已初始化的公共函数集(值:布尔值):void{
_initialized =值;
=_文件已加载并已初始化;
}
8yparm6h4#
我发现,当应用程序联机时,重写initialized属性不能很好地处理。
相反,您最好使用creationPolicy属性。当设置为'none'时,此属性将暂停容器的子创建,直到调用方法createComponentsFromDescriptors。
bqf10yzr5#
回复:Jami ...
createComponentsFromDescriptors();
现在是createDeferredContent();