2011-10-17 41 views
-1

我已经在运行时创建一个组,然后在它增加了两个按钮和一个标签在运行时更改标签文本在柔性

addElement (myGroup) 

myGroup.addElement (button 1) 
myGroup.addElement (label) 
myGroup.addElement (button 2) 
现在

,当我在一个按钮2单击我能得到event.currentTarget.

如何使用此event.currentTarget更改标签的文字。我如何可以针对标签

回答

1

我相信这可以解决您的问题。
当您创建标签对象提供一个id。这样你就可以使用这个'id'通过应用程序访问标签。您可以使用此更改文字id.text

或者您也可以使用group objectId。像这样的
groupObjectID.getElementAt(index).text

0

你可以看到,如果event.currentTarget是标签使用铸造它为“运营商

var lbl:Label = event.currentTarget as Label; if (lbl) { //do rest of processing }

+0

no mate当前目标是按钮。我想访问该标签。 –

+0

也许通过获取当前目标按钮的索引,然后访问索引小于按钮的元素? –

+0

是的,或者是为标签定义一个id,所以你不必做所有这些。 –

0

给名字的标签label.name='lblSomething'
然后你就可以 var mylabel:Label = myGroup.getChildByName(lblSomething) as Label

0

访问尝试var labelStr:String = event.currentTarget.label;

0

其实我建议你尝试创建这些标签和按钮作为公共或私有对象尽可能使您可以使用对象ID总是指他们。

这是一个很好的做法,以及...只是我的2美分。

public var t_label:Label = new Label(); // t_ just stands for temporary... nothing special 
myGroup.addElement (this.t_label); 

然后在ANY事件处理程序中,您可以编写类似这样的内容来更改标签文本。

private function onWhateverHandler (event:Event):void 
{ 
    this.t_label.text = "whatever new string value"; 
}