我通过像这样扩展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。
答案 0 :(得分:2)
找到答案。您必须覆盖set data方法并从那里为变量赋值:
override public function set data(value:Object):void {
_data = value;
if(_data.label) lblName.text =_data.label;
}