博客统计信息

51cto推荐博客
用户名:younglab
文章数:209
评论数:97
访问量:295228
无忧币:989
博客积分:2580
博客等级:7
注册日期:2008-07-04

Flex XML转ArrayCollection的问题
2010-03-24 10:02:38
直接用ArrayCollection()强制转换,不要用new ArrayCollection()。用new ArrayCollection()会出错,出错信息:强制转换类型失败:无法将 mx.collections::ArrayCollection@5d89481 转换为 Array。

另外,如果通过HTTPService获取到的XML中只有一条数据,例如:
<tips>
<tip>
<no>16</no>
<date>2010/03/19</date>
<content>内容</content>
</tip>
</tips>
就不能使用var myData:ArrayCollection = ArrayCollection(event.result.tips.tip)
这种方法创建ArrayCollection
要这样:
var data:Array = new Array({no:event.result.tips.tip.no,date:event.result.tips.tip.date, content:event.result.tips.tip.content});
myData = new ArrayCollection(data);


通过调试,可以看到如果返回的是多条记录,event.result.tips.tip是ArrayConlection类型的,
而如果只有一条记录,就是ObjectProxy类型的。见图:





参看ArrayConlection的构造函数:
public function ArrayCollection(source:Array = null)
其参数是Array类型的,所以,只有一条记录的时候当然会出错了。
分享至
更多
一键收藏,随时查看,分享好友!
0人
了这篇文章
类别:Flex技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2010-03-24 17:07:54
谢谢     thanks best regasrts

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: