J'essaie de développer une application flexible mobile.Flex mobile ArrayCollection Erreur
Dans mon application, j'ai deux vues.
Je suis en train de passer le ArrayCollection en tant que données d'une vue à une autre vue, mais en essayant d'accéder ArrayCollection sur la deuxième vue, je reçois une erreur ..
est ici le code de firstView.mxml:
dirSteps est le ArrayCollection que je suis en train de passer à la vue suivante ...
for (var r:Number = 0 ; r < directions.numRoutes; r++) {
var route:Route = directions.getRoute(r);
if (r >= 0 || r < (numRoutes - 1)) {
var midMarker:Marker = new Marker(route.endLatLng);
map.addOverlay(midMarker);
}
var numSteps:uint = route.numSteps;
for (var s:Number = 0 ; s < numSteps ; s++) {
var step:Step = route.getStep(s);
dirSteps.addItem({Step: (s+1), Description: step.descriptionHtml, Distance: step.distanceHtml, LatLng: step.latLng});
}
}
dirSteps.refresh();
}
..... some more code ...
navigator.pushView(DetailDirection,dirSteps);
code de DetailDirection.mxml:
[Bindable]
private var directionList:ArrayCollection;
private function init():void {
directionList = new ArrayCollection(ArrayUtil.toArray(data));
// here, data should be my arraycollection, but throws above error on
// trying to access property (i.e Step, Distance etc ..) of ArrayCollection ...
trace(data.Distance);
}
Error: Unknown Property: 'Distance'. at mx.collections::ListCollectionView/http://www.adobe.com/2006/actionscript/flash/proxy::getProperty()[E:\dev\4.y\frameworks\projects\framework\src\mx\collections\ListCollectionView.as:870] at views::DetailDirection/init()[C:\Documents and Settings\ARSENAL\Adobe Flash Builder 4.6\CityExplorer_v2.0\src\views\DetailDirection.mxml:21] at views::DetailDirection/___DetailDirection_View1_creationComplete()[C:\Documents and Settings\ARSENAL\Adobe Flash Builder 4.6\CityExplorer_v2.0\src\views\DetailDirection.mxml:6] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152] at mx.core::UIComponent/set initialized()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:1818] at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:842] at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180]
Quelle est la cause de cette erreur? Ce qui doit être fait ?
Tout ce qui me manque ici?
Merci
Qu'est-ce 'MyObjectType' ici ? De quel type d'objet parlez-vous? – tomjerry
^Merci. Votre soln travaillé. Mais, quand j'essaye de stocker la valeur de 'données' dans ma deuxième vue, comme ceci .. ' private var arr: ArrayCollection = nouveau ArrayCollection (ArrayUtil.toArray (data)); 'et essayez alors d'accéder en tant que .. '((arr comme ArrayCollection) .getItemAt (0) comme MyObjectType) .distance' .. il me jette encore la même erreur que" distance propriété inconnue "... – tomjerry
@tomjerry" MyObjectType "serait le type d'objet de les objets dans votre dataProvider. Lorsque vous initialisez le ArrayCollection comme cela, il est défini une fois; peut-être avant que la propriété data soit définie.Vous devrez parcourir le code lorsque vous essaierez d'accéder aux valeurs pour voir ce qui ne va pas. La collection ArrayCollection est-elle valide? L'article auquel vous essayez d'accéder existe-t-il dans ArrayCollection? Est-il lancé correctement? Et enfin, a-t-il une propriété à distance? – JeffryHouser