Thanks all - your explanations are awesome!.
--- In [email protected], "Tracy Spratt" <[EMAIL PROTECTED]> wrote:
>
> "If you add an id to a component created at runtime, that id can't be
> used as a reference to
> it.", precisely. It is just a string property of the component and the
> parent component knows nothing about it.
>
>
>
> An id on an mxml tag works as a reference because the compiler creates
> an instance variable with the name specified in the id property, and
> assigns a reference to the component instance to it.
>
>
>
> If you manually addChild(), you need to do the same.
>
>
>
> Tracy
>
>
>
> ________________________________
>
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of Amy
> Sent: Friday, November 21, 2008 9:47 AM
> To: [email protected]
> Subject: [flexcoders] Re: setting tileList.id in this.addChild(tileList)
> actionscript ...
>
>
>
> --- In [email protected] <mailto:flexcoders%40yahoogroups.com>
> , "Mic" <chigwell23@> wrote:
> >
> > var tileList:TileList = new TileList;
> > tileList.dataProvider = thumbArray;
> > this.addChild(tileList);
> >
> > Although dataprovider is set, it is not getting bound, so I think I
> need
> >
> > override public function initialize():void
> > {
> > BindingUtils.bindProperty(id of tileList, "dataProvider",
> this,
> > "thumbArray");
> > super.initialize();
> > }
> >
> > But I cannot find a way of setting the tileList child id to e.g.
> > "myTileList" so I can talk to it. TIA,
>
> (1) An array is always equal to itself, no matter how many changes
> you make to it, so you can't bind to it unless you broadcast change
> events for it manually. Use an ArrayCollection instead.
>
> (2) You already have a reference to tileList. If you add an id to a
> component created at runtim, that id can't be used as a reference to
> it.
>
> HTH;
>
> Amy
>