访问TileList组件AS3的自定义Cell Renderer

时间:2012-07-31 14:36:54

标签: actionscript-3 flash label renderer tilelist

我通过像这样扩展ImageCell类为TileList组件实现了一个自定义单元格渲染器:

package 
{
   import fl.controls.listClasses.ICellRenderer;
   import fl.controls.listClasses.ImageCell;
   import fl.controls.Label;

   public class CustomImageCell extends ImageCell implements ICellRenderer
   {
      public var lblName:Label;

      public function CustomImageCell() 
      {
          lblname = new Label();
          addChild(lblName);
      }
   }
}

我这样分配了它:

tilelist.setStyle("cellRenderer", CustomImageCell);

现在当我将项目添加到tilelist时,如何将一些文本传递给单元格渲染器中的该标签?

tilelist.addItem({label:"Let this text go to the lblName", source:new Bitmap(bData)});

编辑:

我这样做是因为我需要TileList的items'标签为多行,我被告知唯一的方法是实现自定义Cell Renderer。

1 个答案:

答案 0 :(得分:2)

找到答案。您必须覆盖set data方法并从那里为变量赋值:

override public function set data(value:Object):void {
        _data = value;
        if(_data.label) lblName.text =_data.label;
}