Flex强制转换错误类型#1034



我正在构建一个Flex移动应用程序,我一直得到这个错误:

TypeError: Error #1034: Type Coercion failed: cannot convert mx.collections::ArrayCollection@ba39581 to Array.

它说错误发生在这里(在ArrayCollection部分):

<s:List id="invites" x="5" y="295" width="310" change="rowSelected(event)">
        <s:dataProvider>
            <s:ArrayCollection source="{getInvites.lastResult.Invites.EventTitle}"/>
        </s:dataProvider>
    </s:List>

HTTPService调用:

<s:HTTPService id="getInvites" result="getInvitesResult(event)" method="POST" url="http://localhost/invite.php" useProxy="false">
            <s:request xmlns="">
                <method>GET_INVITES</method>
                <userID>{my_id.text}</userID>
            </s:request>
        </s:HTTPService>

我不知道为什么这个错误发生,我一直试图找出它2小时。如有任何帮助,不胜感激。

也可以访问"invite.php"文件,并且工作正常。

谢谢,雅各

很可能你的远程服务返回一个数组在getinvitation . lastresult . invitation . eventtitle,这是不一样的ArrayCollection,不能转换为"on the fly"

你可以试试:

<s:List id="invites" x="5" y="295" width="310" change="rowSelected(event)">
        <s:dataProvider>
            <s:ArrayCollection source="{new ArrayCollection(getInvites.lastResult.Invites.EventTitle)}"/>
        </s:dataProvider>
    </s:List>

但是,老实说,我强烈建议你在HTTPService调用中添加一个适当的结果处理程序,并在其中处理结果。

相关内容

  • 没有找到相关文章

最新更新