近期在用Flex4.5 开发项目
中途使用一个<s:List>来显示每一个项的时候,采用<s:HTTPService>标签、、、
但是在result中触发事件时,报错如下:
TypeError: Error #1034: Type Coercion failed: cannot convert mx.utils::ObjectProxy....
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*"
creationComplete="xmlReader.send()"
width="1200" height="768" showStatusBar="false"
xmlns:ui="ui.*">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:HTTPService id="xmlReader" url="projects.xml" result="xmlReader_resultHandler(event)"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.sap.prototyping.standalone.FileRequest;
import com.sap.prototyping.util.NativeMenuUtil;
import mx.collections.ArrayCollection;
import mx.events.FileEvent;
import mx.events.FlexEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.ArrayUtil;
import spark.events.IndexChangeEvent;
[Bindable]
public var projects:ArrayCollection;
protected function xmlReader_resultHandler(event:ResultEvent):void
{
//projects = event.result as ArrayCollection;
trace("project:"+event.result.projects.project);
if(event.result.projects.project is ArrayCollection){
projects = event.result.projects.project;
}else{
projects = new ArrayCollection(ArrayUtil.toArray(event.result.projects.project));
}
}
protected function list1_changeHandler(event:IndexChangeEvent):void
{
// TODO Auto-generated method stub
}
]]>
</fx:Script>
<s:List change="list1_changeHandler(event)" dataProvider="{projects}">
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:VGroup horizontalAlign="center">
<s:Image source="assets/dropzone.png"/>
<s:Label text="{data.name}"/>
</s:VGroup>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:List>
</s:WindowedApplication>
最后在网站http://forum.sephiroth.it/showthread.php?8834-ArrayCollection-Error 找到了解决办法。
如红色加粗斜体部分、、、:
projects = event.result.projects.project;
=============================>>
if(event.result.projects.project is ArrayCollection){
projects = event.result.projects.project;
}else{
projects = new ArrayCollection(ArrayUtil.toArray(event.result.projects.project));
}
}
其中红色加粗部分之所以再用了一次<s:ItemRenderer> 标签,是因为在下面的Label要用到【data】这个系统默认的属性,不加的话,会报如下错误:Access of undefined property data。
分享到:
相关推荐
flex4.5中文书籍,书中介绍了flex4.5移动开发,主要讲解了Iphone和Android上的Air开发及配置
Flex 4.5''中文资料
Flex4.5 + Myeclipse8.5 安装 本人已安装成功,flex4.5注册码也附上,只是myeclipse被汉化了,目前还未解决
Flex 4.5 API 开发文档(网页版)
flex4.5d sdk哦, 现在比较难找了啊 啊
Flex 4.5注册码,破解码
flex4.5 权威指南(含源码)英文版
Flex 4.5 实现tree拖拽到任意组建 拖到tree datagrid中并得到目标的全部数据实现添加组建
Flex Builder4.5导入Excel和CSV文件到DataGrid中,并自定义DataGrid选中行的右键
flex4.5 从浅入深 第一章 可视化组件.pdf 第二章 布局组件.pdf,初学者的福音。
FLEX4.5注册机,破解 Flash Builder 4.5工具类,里面有使用说明文档,先看下说明文档,然后在使用注册机就搞定破解了。 一整套破解方案可行
flex4.5+spring3+hibernate的项目实例,登录实例
《flex4.5从浅入深》第一(全16节)、二章(5节),清晰版
Flex4.5从浅入深+第一章可视化组件运用+第一节butto
通过Flex4.5+As3实现的3D网页效果展示墙,主要实现了波纹+发光效果墙,视频播放效果墙,3D进门出门效果展示墙,3D鱼眼发光效果展示墙。实现了目前主要的特效,方便学习。可以自行添加翻书效果等
该文档总结了flex开发中经常遇到的问题及解决方案。
Flex4.5中air桌面应用 app.xml 配置文件中文注释
Flex4.5从浅入深 ,新特性介绍,例子,pdf
下载后,新建Flex Web工程,然后将文件按照文件夹结构拷贝进去后,编译,运行即可。但是主文件只需要拷贝内容,工程名字需要命名为testDemo。 功能包括 ViewStack的画面迁移 画面popup表示 鼠标在一览中滑动的事件...
Flex4.5 Moblie Hello