Я собрал это быстрое приложение, чтобы доказать, что ваш код правильно отслеживает folderArray [i] [j].Это 90% кода из вашего приложения.
Однако я хочу отметить, что объект objFoldersBuild
создается только один раз.Поэтому каждый раз, когда вы выполняете цикл, изменяете значение свойства существующего объекта и добавляете его в ваши папки ArrayCollection.У вас есть ArrayCollection с несколькими копиями одного и того же точного объекта.Ответ заключается в создании нового объекта каждый раз через цикл.
<?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" preinitialize="windowedapplication1_preinitializeHandler(event)">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.FlexEvent;
protected function windowedapplication1_preinitializeHandler(event:FlexEvent):void
{
var labs:ArrayCollection = new ArrayCollection();
var sets:ArrayCollection = new ArrayCollection();
var labsArray:Array = ["ProDPI","WHCC","Tin"];
var setsArray:Array = ["Set1","Set2","Set3"];
var folders:ArrayCollection = new ArrayCollection();
var foldersArray:Array = [labsArray, setsArray];
var objFolderBuild:Object = new Object;
for (var i:int = 0; i< foldersArray.length;i++) {
for (var j:int = 0; j < foldersArray[i].length; j++) {
trace(foldersArray[i][j]);
objFolderBuild = new Object;
objFolderBuild.labName = foldersArray[i][j];
folders.addItem(objFolderBuild);
}
}
/* labFolderList.labelField="labName";
labFolderList.dataProvider=folders;
setFolderList.labelField="setName";
setFolderList.dataProvider=folders; */
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:WindowedApplication>