近期在用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。
分享到:
相关推荐
尽管描述中提到“现在比较难找了”,但根据提供的链接(http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.5/flex_sdk_4.5.0.20967.zip),表明Flex 4.5 SDK仍然可以从Adobe官方服务器下载。然而,需要注意的...
开发者可以通过这个实例学习如何在Flex中集成Spring和Hibernate,实现前后端的无缝对接,以及如何设计和实现一个完整的登录流程,包括用户验证、错误处理等。 在实际操作时,开发者需要理解Flex中的Service调用机制...
本书《flex4.5从浅入深》旨在帮助开发者深入理解Flex 4.5的各个方面,从基础知识到高级特性,逐步提升开发技能。标题表明本书分为两大部分,第一章节包含16节内容,第二章节则有5节,都提供了清晰易读的版本。 在...
12. **解决问题**:在开发过程中遇到的错误,如项目报错,通常可以通过调整项目属性,例如修改源文件夹设置,或者检查配置文件的正确性来解决。 13. **包和类的创建**:在 Flex 项目中,编写如 `UserBiz` 类的 Java...
Flex 4.5是Adobe Flash Platform中的一个关键组件,它为构建富互联网应用程序(RIA)提供了强大的工具和框架。在“Flex 4.5从浅入深第二章”中,我们将深入探讨Flex 4.5的诸多核心概念和技术,帮助开发者更有效地...
本文将详细介绍如何在MyEclipse 8.5中集成Flex 4.5,这是一款强大的Java EE开发工具与富互联网应用程序(RIA)开发框架的结合。 首先,Flex 4.5是一种基于ActionScript和MXML的开发框架,主要用于构建交互性强、...
### Flash Build 4.5 (Flex 4.5) 关键知识点详解 #### 一、Flash Builder 4.5 概览 **1.1 Flash Builder 的定位与用途** - **定位**: Adobe Flash Builder 4.5 是一款专门用于开发跨平台富互联网应用(RIA)的集成...
- **调试Flex Mobile项目**:指导读者如何使用调试工具检查代码错误,以及如何在Android设备上安装和测试应用。 ##### 2.2 应用布局设计 本节重点讲解了不同的应用布局类型及其特点,包括空白应用、基于视图的应用...
以上只是瑞研Flex 4.5核心知识点的一部分,实际的学习和开发过程中,还需要掌握更多细节,如数据管理、错误处理、性能优化等。通过深入理解和实践,开发者可以充分利用Flex的强大功能,创建出富有表现力和用户体验...
本文旨在介绍如何利用这些新工具,特别是如何在Java环境中构建Flex应用程序,以实现一个登录功能为例,来探讨Flex 4.5与Java的深度集成。 首先,我们需要搭建开发环境。启动Flash Builder 4.5,创建一个新的Dynamic...
《使用Flex4.5开发Android应用程序》的源代码是一份宝贵的资源,它涵盖了Adobe Flex 4.5技术在Android平台上的应用开发知识。Flex 4.5,也被称为Flash Builder 4.5,是一款强大的集成开发环境(IDE),用于创建富...
总的来说,这个Flex4.5手机项目展示了如何在移动环境中结合Flex的图形用户界面设计和SQLite的本地数据存储能力,实现一个功能完善的用户管理系统。通过这个项目,开发者可以学习到如何在ActionScript中操作SQLite...
### Flex4.5 + MyEclipse8.5 搭建Web项目的步骤及解析 #### 一、前言 在本文中,我们将详细介绍如何利用Flex 4.5 和 MyEclipse 8.5 构建一个完整的Web项目,并解决在这个过程中可能会遇到的一些常见问题,比如 ...
在本项目中,“flex4.5httpservice实现搜狐焦点图新闻和特效按钮皮肤制作”涉及到的核心技术是 Flex 4.5 的 HTTPService 组件、自定义皮肤以及动态数据展示。 HTTPService 是 Flex 中用于与服务器进行 HTTP 通信的...
- **解决常见问题**:在启动虚拟机过程中可能会遇到USB相关的错误提示,可以通过将虚拟机设置中的USB控制器选项调整为“Off”来解决。 - **虚拟机硬件配置**:根据下载的镜像,默认配置为4核心CPU和4GB RAM。如果您...
### Flex4.5 + Java + Spring + BlazeDS 通信整合详解 #### 一、概述 在现代企业级应用开发中,前后端分离架构已经成为主流趋势之一。本文将详细介绍如何使用Flex 4.5、Java、Spring框架以及BlazeDS进行前后端之间...
以上步骤和知识要点构成了在Myeclipse8.5环境中搭建Flex4.5、Blazeds以及SSH的开发环境的基础。通过这个环境,开发者可以创建具有丰富用户界面的Web应用,并利用Java后端的强大功能处理业务逻辑和数据管理。