Может ли кто-нибудь привести меня к сдвигу элемента в ArrayCollection в flex?
У меня есть ArrayCollection отсортированных объектов.
Теперь мне нужно переместить строку в конец ArrayCollection.
Для иллюстрации
arrayCollection = ["Cars","Other","Trucks"];
Эта коллекция ArrayCollection отсортирована. Теперь мне нужно переместить 'Other'
в конец ArrayCollection. т.е. мне нужно, чтобы массив был реструктурирован как
arrayCollection = ["Cars","Trucks","Other"];
Вот мой код,
if(Index != -1){
CategoryList.addItem(CategoryList.removeItemAt(Index));
trace(CategoryList.source.join());}
CategoryList - это ArrayCollection длиной 28 с 3 атрибутами для каждого объекта в ArrayCollection.
«RemoveItem» работает нормально, но «AddItem» выдает эту ошибку,
RangeError: Указанный индекс '28' находится за пределами.
в mx.collections :: ArrayList / addItemAt () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ArrayList.as: 305]
в mx.collections :: ListCollectionView / addItemAt () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ListCollectionView.as: 501]
в mx.collections :: ListCollectionView / addItem () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ListCollectionView.as: 470]
в компонентах :: Home / creationOver () [C: \ Documents and Settings \ immanuel \ Мои документы \ Flex Builder 3 \ Porj \ src \ components \ Home.mxml: 113]
в компонентах :: Home / ___ Home_Canvas1_creationComplete () [C: \ Документы и настройки \ immanuel \ Мои документы \ Flex Builder 3 \ Porj \ src \ components \ Home.mxml: 2]
на flash.events::EventDispatcher/dispatchEventFunction ()
на flash.events::EventDispatcher/dispatchEvent ()
в mx.core :: UIComponent / dispatchEvent () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 9298]
в mx.core :: UIComponent / set initialized () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 1169]
в mx.managers :: LayoutManager / doPhasedInstantiation () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ Manager \ LayoutManager.as: 718]
при функции / http://adobe.com/AS3/2006/builtin::apply()
в mx.core :: UIComponent / callLaterDispatcher2 () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 8628]
в mx.core :: UIComponent / callLaterDispatcher () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 8568]
Затем я пытаюсь вставить в определенную позицию,
CategoryList.addItemAt(CategoryList.removeItemAt(Index), CategoryList.length-1);
Но это, выдает ошибку ниже,
TypeError: Ошибка # 1006: значение не является функцией.
в mx.collections :: ListCollectionView / getFilteredItemIndex () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ListCollectionView.as: 564]
в mx.collections :: ListCollectionView / addItemsToView () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ListCollectionView.as: 896]
в mx.collections :: ListCollectionView / listChangeHandler () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ListCollectionView.as: 1051]
на flash.events::EventDispatcher/dispatchEventFunction ()
на flash.events::EventDispatcher/dispatchEvent ()
в mx.collections :: ArrayList / internalDispatchEvent () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ArrayList.as: 510]
в mx.collections :: ArrayList / addItemAt () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ArrayList.as: 311]
в mx.collections :: ListCollectionView / addItemAt () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ collection \ ListCollectionView.as: 501]
в компонентах :: Home / creationOver () [C: \ Documents and Settings \ immanuel \ Мои документы \ Flex Builder 3 \ Porj \ src \ components \ Home.mxml: 113]
в компонентах :: Home / ___ Home_Canvas1_creationComplete () [C: \ Документы и настройки \ immanuel \ Мои документы \ Flex Builder 3 \ Porj \ src \ components \ Home.mxml: 2]
на flash.events::EventDispatcher/dispatchEventFunction ()
на flash.events::EventDispatcher/dispatchEvent ()в mx.core :: UIComponent / dispatchEvent () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 9298]
в mx.core :: UIComponent / set initialized () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 1169]
в mx.managers :: LayoutManager / doPhasedInstantiation () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ Manager \ LayoutManager.as: 718]
при функции / http://adobe.com/AS3/2006/builtin::apply()
в mx.core :: UIComponent / callLaterDispatcher2 () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 8628]
в mx.core :: UIComponent / callLaterDispatcher () [C: \ autobuild \ 3.2.0 \ frameworks \ projects \ framework \ src \ mx \ core \ UIComponent.as: 8568]