I don't see 'icon' defined anywhere.  What is your thumbnail?  Is it a
URL or an embedded graphic?

 

Check out the examples in the doc and look at the source for
TileListItemRenderer.

 

-Alex

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Djamshed
Sent: Monday, February 11, 2008 11:18 PM
To: [email protected]
Subject: [flexcoders] How to set icon in custom TilelistItemRenderer?

 

Hi,

I am trying to create a custom renderer for TileList that will have
two labels just below the thumbnail, but I can't set the icon
property: it doesn't display anything. 

My TileList:
-------------------------
<mx:TileList id="myTileList" 
dataProvider="{myDataArray}"
itemRenderer="MyCustomRenderer" 
/>
-------------------------

My Renderer
-------------------------
public class MyCustomRenderer extends TileListItemRenderer
{ 
private var _lbl1:Label;
private var _lbl2:Label;
private var _img:Image; 

public function MyCustomRenderer()
{
super();
}

override protected function createChildren():void
{
super.createChildren();

_img = new Image(); //holds thumbnail object
_lbl1 = new Label(); //first label 
_lbl2 = new Label(); //second label

// addChild(_img ); //it works if I do this way, but why
don't I use icon?
addChild(_lbl1); 
addChild(_lbl2);

}

override protected function commitProperties():void
{
super.commitProperties();
var vo:ProductVO = ProductVO(data);
_img.source = vo.thumbnail;
_lbl1.text = vo.title;
_lbl2.text = vo.descr; 

this.icon = _img; //setting the icon
this.label.text = ""; //it shows ProductVO object's description,
don't know how to get rid of it the other way
}
}
-------------------------

It works the way I want if I do "addChild(_img )" in createChildren(),
but knowing that there is an icon property, I think the renderer
becomes heavier than it could be.

So, could you help me with:
1) How to make icon display the image?
2) Can I use "label" as one of my labels and add only one additional
Label (I need two labels)?

Thanks,
Djam.

 

Reply via email to