Apache flex 将数据提供程序的数组转换为Arraylist时出现问题

Apache flex 将数据提供程序的数组转换为Arraylist时出现问题,apache-flex,types,arraylist,dataprovider,Apache Flex,Types,Arraylist,Dataprovider,这样行吗?MealDataGrid正在基于数组填充,但我正在调试,MealListResult为null。但是,膳食不是,我不知道我是否遗漏了一些简单的东西 我可以通过如下方式让它工作:var MealsListResult2:ArrayList=newarraylist(膳食)但是我觉得第一种方法也应该有效 (这里当然没有显示mxml列表和datagrid等)如果\u data.diems是它的运行时类型,那么\u data.diems as ArrayCollection将失败。但是,新的A

这样行吗?MealDataGrid正在基于数组填充,但我正在调试,MealListResult为null。但是,膳食不是,我不知道我是否遗漏了一些简单的东西

我可以通过如下方式让它工作:
var MealsListResult2:ArrayList=newarraylist(膳食)
但是我觉得第一种方法也应该有效


(这里当然没有显示mxml列表和datagrid等)

如果
\u data.diems
是它的运行时类型,那么
\u data.diems as ArrayCollection
将失败。但是,
新的ArrayCollection(\u data.fines as Array)
可以正常工作

CMIIW 我想你的问题是你不能使用单个对象作为2个或更多不同的ui数据提供者

尝试使用

private var MealsListResult:ArrayList = new ArrayList;
protected var _data:resultData = new resultData;

private function resultHandler():void
    {   
    var Meals:Array = _data.Meals;
    MealsListResult = _data.Meals as ArrayList;
    MealDataGrid.dataProvider = Meals;
    MealListView.dataProvider = MealsListResult;
    }
更新:


对不起,我错过了里德,我还以为是ArrayCollection呢。但是,您所需要做的就是像ArrayCollection一样使用新的ArrayList(_data.das as Array)在数组中传递作为ArrayList的源数组-这是正确的方法。ArrayList只是数组的“包装器”,这就是为什么使用“As ArrayList”强制转换它不起作用的原因。与ArrayCollection相同我可以问一下,为什么ArrayList而不是ArrayCollection?我自己从来没有用过ArrayList
MealDataGrid.dataProvider = _data.Meals;
MealListView.dataProvider = ObjectUtils.clone(_data.Meals);