0

我面临一个典型的问题。平铺列表从数组集合中获取数据,这些数据是 SWF 图像。

当用户单击图像时,它不会转到 itemDoubleClick(event) 处理程序。但是如果用户点击 Image 附近的空白区域,Control 会进入 itemDoubleClick(event) 处理程序。

如果我使用 itemClick(event) ,那么它工作正常。

预期结果: 当用户双击图像时,它应该加载到不同的布局上。

代码演示是 Mxml 部分是 :->

<mx:TileList id="imgView"
                 columnCount="3" 
                 width="100%" 
                 height="292"
                 styleName="tilelistContainer"
                 dataProvider="{imageArr}"
                                 itemRenderer="com.Images"
                 itemDoubleClick="{imageGalleryClickHandler(event)}"
                 doubleClickEnabled="true"
                 dragEnabled="true" 
                 />

ActionScript 代码是:->

public function imageGalleryClickHandler(evnt:ListEvent):void
{                       
   Alert.Show("Control is in double click handler"): 

}

我受够了这个,请帮助。

根据您的评论,我正在更新 ItemRenderer 的代码。请检查这个。

更新代码

<utils:LoadingImage source="{data.value}"
                        width="100%" 
                        verticalAlign="middle"
                        horizontalAlign="center"
                        height="100%" 
                        maintainAspectRatio="true"
                                            doubleClickEnabled="true"
                        scaleContent="true"
/>
4

2 回答 2

0

试试这将适用于{ }这里不需要的事件处理绑定符号尝试删除那些大 itemDoubleClick="{imageGalleryClickHandler(event)}"括号itemDoubleClick="imageGalleryClickHandler(event)"

<mx:TileList id="imgView"
                     columnCount="3" 
                     width="100%" 
                     height="292"
                     styleName="tilelistContainer"
                     dataProvider="{imageArr}"
                     itemRenderer="com.Images"
                     itemDoubleClick="imageGalleryClickHandler(event)" //Remove Curly braces
                     doubleClickEnabled="true"
                     dragEnabled="true" 
                     />

根据您的评论

您还需要在 itemRenderer 中设置doubleClickEnabled="true"itemRenderer and Image否则双击事件不会传播(触发)。

于 2014-01-31T06:18:48.113 回答
0

此链接可能会解释正在发生的事情 - 不是解决方案,而是可能导致它的原因:

Flex tilelist itemrender 实例与 dataprovider 长度不匹配

此链接解释可能使用 ITEMCLICK 可能会有所帮助:

http://andymatthews.net/read/2009/09/20/Beginning-Flex:-TileList-using-the-itemClick-vs-click-events

于 2014-01-30T14:58:18.610 回答