Flex не устанавливает текст метки во время выполнения

Ниже приведен гибкий код. Он загружает URL при запуске и получает XML. XML загружается нормально, и я вижу значение returnData[0].name в трассировке! Но когда я пытаюсь присвоить значение метке, метка просто показывает пустой текст... так как он удалил мой текст по умолчанию и заменил его ничем, вместо того, что находится в returnData[0].name?? Если я использую trace(), значение этой переменной - "Джон"

<?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, он работает, я могу видеть текст, но это почти так, как если бы изображение заканчивало тем, что находилось сверху надписи.

0 ответов

Другие вопросы по тегам