我写了一个as文件,希望这个文件实例化对象时就读取配置文件内容,但现在始终读不到……
public class Constant extends Sprite {
public var ROOT_URL:String = "";
public var PMINFO_FILE_ROOT:String = ROOT_URL+"pminfo/";
public function Constant(){
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE,loadCompleteHandler);
loader.load(new URLRequest("ip.xml"));
}
private function loadCompleteHandler(event:Event):void{
var vars:XML = new XML(event.currentTarget.data);
ROOT_URL = "http://"+vars.ip+"/"+vars.name()+"/";
}
……
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你不是定义的ROOT_URL:String = "";######
你读取xml是需要时间的,并且什么时候加载完成是未知的
最好的办法是在加载完成后dispatcher一个事件,然后监听处理。
######取属性 可以用 vars.@name
protected function xmlLoaded(event:Event):void
{
var xml:XML = XML(event.target.data);
for(var i:int = 0; i<xml.children().length(); i++)
{
var itemXml:XML = xml.child("item")[i];
var item:ShortCutItem = new ShortCutItem();
item.label = itemXml.@label ;
item.icon = itemXml.@icon +"";
item.moduleUrl = itemXml.@moduleUrl;
item.winIcon = itemXml.@winIcon +"";
item.visible = false;
this.addElement(item);
this.items.addItem(item);
item.addEventListener(FlexEvent.CREATION_COMPLETE, item_completeHandler);
}
}
可以参考下 我这段~