В настоящее время я пытаюсь использовать новый подход использования FlexGlobals для доступа к коллекции ArrayCollection, которую я имею в представлении по умолчанию для мобильного приложения, которое я разрабатываю. Ниже приведен код, который составляет создание и заполнение этого массива в представлении по умолчанию, которое происходит после запуска приложения:
private var ids:ArrayCollection = new ArrayCollection();
private function loop():void
{
var index:int;
for( index = 0; index < compsCollection.length; index++ )
{
trace( "Element " + index + " is " + compsCollection[index].comp_id );
trace( ids.length);
ids.addItem(compsCollection[index].comp_id);
}
}
Теперь, когда этот код запущен, я ясно вижу из консоли, что ArrayCollection «ids» заполняется правильно. Теперь в другом представлении приложения я хочу получить доступ к этим данным и использовать их для разных целей. Я использовал код ниже, чтобы попытаться получить доступ к данным для ArrayCollection:
protected var ids_list:ArrayCollection = new ArrayCollection();
protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void
{
var obj:Object = FlexGlobals.topLevelApplication.parameters;
ids_list.source = obj.ids;
trace(ids_list.length);
}
Когда я пытался это сделать, я не получаю сообщение об ошибке, однако оператор Trace возвращает «0». И я тоже попробовал:
protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void
{
ids_list.source = FlexGlobals.topLevelApplication.parameters.ids;
trace(ids_list.length);
}
Который снова вернул "0" в операторе трассировки. Я наконец попробовал это, чтобы видеть, будет ли это работать:
protected function view1_viewActivateHandler(event:ViewNavigatorEvent):void
{
ids_list.source = FlexGlobals.topLevelApplication.ids;
trace(ids_list.length);
}
Когда я попробовал это и перешел к представлению, где этот код будет инициирован, я получил эту ошибку:
Error #1069: Property ids not found on Main and there is no default value.
Я мог только предположить, что ArrayCollection, который я создал в моем представлении по умолчанию, не имеет значения, когда я ухожу от него. Может ли кто-нибудь помочь мне с этим, так как, похоже, почти нет документации о том, как делать подобные вещи с FlexGlobals? Спасибо