2014-01-30 5 views
0

일반적인 문제가 있습니다. SWF 이미지 인 배열 컬렉션에서 데이터를 가져 오는 타일 목록입니다.두 번 클릭이 이미지에서 작동하지 않고 플렉스의 타일 목록에서 이미지 근처의 공백을 사용합니다.

사용자가 이미지를 클릭하면 itemDoubleClick (event) 핸들러로 이동하지 않습니다. 그러나 사용자가 Image 근처의 공백을 클릭하면 Control이 itemDoubleClick (event) 핸들러 내부로 이동합니다.

itemClick (이벤트)을 사용하면 정상적으로 작동합니다.

예상 결과 : 사용자가 이미지를 두 번 클릭하면 다른 레이아웃으로로드됩니다.

코드 데모 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" 
       /> 

액션 스크립트 코드는 다음과 같습니다 ->

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" 
/> 

답변

0

이 링크를 클릭하면 무슨 일이 일어나고 있는지 설명 할 수 - 없습니다 솔루션하지만 그것을 일으키는 원인이 될 수 있습니다

Flex tilelist itemrender instance not match the dataprovider length

이 링크가 가능 대해서 itemClick를 사용하는 방법에 대한 설명 도움을 받으실 수 있습니다 :

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

+0

방금 ​​내 답변을 찾았습니다. 동일한 높이, 너비 및 BackGroundAlpha = "0"인 rect를 추가하는 것은 약간의 트릭이었습니다. 그 후 OnitemDoubleClick이 완벽하게 작동하기 시작했습니다. :) –

0

이벤트가 표기 여기에 필요하지 바인딩 { }을 전달하기위한 작동이 시도는 당신이 당신의 itemRenderer and Image에 대한 doubleClickEnabled="true"을 설정할 필요가

귀하의 의견을 바탕으로 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" 
        /> 

itemDoubleClick="{imageGalleryClickHandler(event)}"처럼 그 괄호를 제거하려고 마찬가지로 itemRenderer 내부에서 더블 클릭 이벤트가 전달되지 않습니다 (트리거).

+0

나는 당신의 제안을 시도했지만 여전히 작동하지 않습니다. itemDoubleClick이 작동하지 않지만 itemClick이 정상적으로 작동하는 이유를 이해할 수 없습니다. ItemDoubleClick은 이미지가 아닌 이미지 근처를 클릭하면 작동합니다. –

+0

@AnujSharma 답변 업데이트를 확인하시기 바랍니다. –

+0

@AnujSharma 문제를 해결할 수 없다면 아이템을 보여주세요. 렌더러 코드 –