2011-07-26 30 views
0

图库中选择图片(鼠标点击图片),我怎么能叫选定的图像(鼠标点击图片)这是我的示例代码FLEX4,我怎样才能从数组集合在DATAGROUP使用DATAGROUP

<fx:Script> 
    <![CDATA[ 
     import mx.collections.ArrayCollection; 
     import mx.managers.PopUpManager; 

     import spark.components.Image; 
     import spark.components.TitleWindow; 
     [Bindable] 
     private var myArray:ArrayCollection= new ArrayCollection([ 
      {image:'Assets/images/best_01.jpg'}, 
      {image:'Assets/images/best_02.jpg'}, 
      {image:'Assets/images/best_03.jpg'}, 
      {image:'Assets/images/best_04.jpg'}]); 

     private function imageClickHandler(event:MouseEvent):void { 
      var imgCount:Number=0; 
      var image:Image= new Image(); 
      PopUpManager.addPopUp(image,this,true); 

      image.source=myArray.getItemAt(imgCount).image; 

     } 

    ]]> 
</fx:Script> 

<s:DataGroup id="dg" itemRenderer="com.ItemRenderForHorizontallist" 
      dataProvider="{myArray}" 
      verticalCenter="0" 
      horizontalCenter="0" 
      click="imageClickHandler(event)"> 

    <s:layout > 
    <s:TileLayout horizontalGap="20" verticalGap="20" columnWidth="180" /> 
    </s:layout> 
</s:DataGroup> 
  • 验证码工作,但我想选定的图像(MouseClick图像)任何一个帮助我............谢谢*
+0

你有没有尝试过,看看有什么'event.target '回报?如何在项目渲染器中添加点击处理程序并分派冒泡事件? –

回答

0

您正在使用imgCount来访问您的ArrayCollection的索引;但是,你总是将它设置为0。

你可以改变S:DATAGROUP送:列表,然后在点击处理机的selectedItem属性:

image.source = dg.selectedItem["image"]; 
+0

这是行不通的错误:此行的多个标记: - 未定义属性selectedItem的访问 -1119:通过具有静态类型的引用访问可能未定义的属性selectedItem spark.components:DataGroup。 – Rajkamal

+0

在DataGroup中没有selectedItem属性 – Rajkamal

+0

对不起 - 你是对的。 imgCount问题保持不变,但您可以使用s:List而不是s:DataGroup并访问selectedItem。 –