我正在使用Flerry作为我的Flex桌面应用程序的Java-Flex桥。
如何将Java中的List转换为Flex中的ArrayCollection
Flex代码: -
[Bindable]public var screenList:ArrayCollection;
<flerry:NativeObject id="windowControllerObj" source="ls.window.EnumAllWindowNames"
singleton="true" fault="windowControllerObj_faultHandler(event)">
<flerry:NativeMethod id="getWindowNames" name="getAllWindowNames"
result="windowControllerObj_resultHandler(event)"
fault="getWindowNames_faultHandler(event)"/>
</flerry:NativeObject>
protected function windowControllerObj_resultHandler(event:ResultEvent):void
{
Alert.show("success");
screenList.addAll(event.result as List);
Alert.show(screenList.toString());
}
Java代码: -
public List<String> getAllWindowNames() {
return List<String>;
}
1067:类型为spark.components的值的隐式强制:列表为不相关的类型mx.collections:IList。 LSFinal.mxml / LSFinal / src第2289行Flex问题
可以转换哪些数据类型以及如何?
答案 0 :(得分:1)
您尝试将数据类型mx.collections:IList
转换为UI组件类型spark.components:List
,这当然会导致异常。
尝试按照错误消息提示并使用mx.collections:IList
:
screenList.addAll(event.result as IList);