0

我通过像这样扩展 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 的项目标签是多行的,并且有人告诉我这样做的唯一方法是实现自定义单元格渲染器。

4

1 回答 1

2

找到了答案。您必须覆盖 set data 方法并从那里为您的变量分配一个值:

override public function set data(value:Object):void {
        _data = value;
        if(_data.label) lblName.text =_data.label;
}
于 2012-07-31T17:13:20.133 回答