지금이 작동합니다 : 당신이 당신의 XML에 더 많은 태그를 추가하면
가
//in decleration tags
<fx:Model id="myModel" source="myXML.xml"/>
//in the main code
<mx:VideoDisplay id="videoDisplay" source="{myModel.mainFile as String}" />
그러나, 더 이상 작동하지 않습니다. 모델 인스턴스는 실제로 ObjectProxy 인스턴스입니다. 하나의 태그가있는 경우 Flex 프레임 워크는 문자열 인 myFile 속성을 사용하여 ObjectProxy를 만듭니다. 둘 이상의 태그가있는 경우 myFile 속성은 Array입니다. 또한
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
applicationComplete="application1_applicationCompleteHandler(event)"
>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function application1_applicationCompleteHandler(event:FlexEvent):void
{
if (myModel.myFile is Array)
myArrList = new ArrayList(myModel.myFile)
else
myArrList = new ArrayList([myModel.myFile]);
}
]]>
</fx:Script>
<fx:Declarations>
<fx:Model id="myModel" source="myXML.xml" />
<s:ArrayList id="myArrList" />
</fx:Declarations>
</s:Application>
, 당신은 플래시 플레이어의 디버그 버전을 설치 한 : 당신이 정말 ArrayList의 인스턴스를 사용하려면
그래서, 당신은 유사한하는 것보다 다른 선택의 여지가 있습니까?
1. XML의 비디오 경로 주위에 큰 따옴표를 추가 할 필요가 없습니다. 2.은 XML의 루트 태그입니까? –
추적하려면 myArrList.getItemAt (0)을 추적하십시오. – alxx
@Florian : 예 메인은 루트 태그 – m0j1