TabNavigatorで動的にタブを作成するアプリケーションがあります。あなたが私のコードに従って見ることができるように、私は基本的に特定の名前を持つ5つのタブを持っています。これで、タブと同じ名前の5つのmxmlコンポーネントもあります(つまり、mxmlコンポーネントの名前はタブと同じです。つまり、Tab1、Tab2などです。非動的な方法はmyTab1:Tab1=newを使用することです。 Tab1(); myTab1:Tab2 = new Tab2); したがって、不要なタブごとにこれを実行する必要があります。私がやりたいのは、配列をループしている間に各タブにmxmlコンポーネントをロードすることです。私が十分に明確であることを願っています。
<?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">
<fx:Script>
<![CDATA[
import mx.containers.VBox;
import mx.controls.Label;
import mx.events.FlexEvent;
import spark.components.NavigatorContent;
protected function tabNavigator_creationCompleteHandler(event:FlexEvent):void
{
var superModules:Array =["Tab1","Tab2","Tab3","Tab4","Tab5"];
for each (var superModule in superModules)
{
var myNavigatorContent:NavigatorContent = new NavigatorContent();
myNavigatorContent.percentHeight = 100;
myNavigatorContent.percentWidth = 100;
myNavigatorContent.label = superModule;
myNavigatorContent.addChild(superModule as DisplayObject);
tabNavigator.addChild(myNavigatorContent);
}
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:TabNavigator id="tabNavigator" width="100%" height="100%" creationComplete="tabNavigator_creationCompleteHandler(event)">
</mx:TabNavigator>
</s:Application>
Can somebody help on achieving this.
Many thanks.