以下是弹性代码。它在启动时加载一个url并获取XML。 XML加载正常,我可以在trace中看到returnData [0] .name的值!但是当我尝试将值分配给标签时,标签只显示空文本...因为它删除了我的默认文本并替换为空,而不是returnData [0] .name ??如果我使用trace(),那个变量的值是“John”
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication 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="800" height="523" maxWidth="800" maxHeight="523" initialize="httpService.send()" showStatusBar="false" backgroundColor="white" backgroundAlpha="0">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
public var returnData:ArrayCollection;
protected function httpService_handler(event:ResultEvent):void{
returnData = event.result.people.person;
testlabel.text = returnData[0].name;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:HTTPService id="httpService" url="MYURL TO LOAD XML HERE" result="httpService_handler(event)" />
</fx:Declarations>
<s:BorderContainer borderVisible="false" mouseDown="nativeWindow.startMove();" skinClass="MainStyle" width="800" height="600" id="container" >
<s:Label text="Original Text" id="testlabel"/>
</s:BorderContainer>
</s:WindowedApplication>
这是皮肤:
<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<!-- host component -->
<fx:Metadata>
[HostComponent("spark.components.BorderContainer")]
</fx:Metadata>
<!-- states -->
<s:states>
<s:State name="disabled" />
<s:State name="normal" />
</s:states>
<!-- SkinParts
name=contentGroup, type=spark.components.Group, required=false
-->
<s:Group id="container">
<s:BitmapImage source="@Embed('/School Catchup/libs/images/App-BG8.png')" left="0" top="0" right="0" bottom="0" width="800" height="523" />
</s:Group>
</s:Skin>
如果我取下skinClass它可以看到文字,但它几乎就像图像最终位于标签顶部..