Изменить текст метки во время выполнения в flex - PullRequest
0 голосов
/ 17 октября 2011

Я создал группу во время выполнения, а затем добавил в нее две кнопки и одну метку

addElement (myGroup )

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

Теперь, когда я нажимаю одну кнопку 2, я могу получить event.currentTarget.

Как я могу изменить текст метки, используя это event.currentTarget.Как я могу нацелить ярлык

Ответы [ 5 ]

2 голосов
/ 17 октября 2011

Я верю, что это может решить вашу проблему.
Когда вы создаете метку Object, предоставьте ей id. так что вы можете получить доступ к метке через приложение, используя этот «идентификатор». Вы можете изменить текст, используя это id.text

Или вы можете использовать групповой идентификатор объекта. как этот
groupObjectID.getElementAt(index).text

0 голосов
/ 19 октября 2011

На самом деле я рекомендую вам по возможности создавать эти метки и кнопки как публичные или частные объекты, чтобы вы всегда могли ссылаться на них, используя идентификатор объекта.

Это тоже хорошая практика ... только мои 2 цента.

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

Тогда внутри ЛЮБОГО обработчика событий вы можете написать что-то вроде этого, чтобы изменить текст метки.

private function onWhateverHandler (event:Event):void
{
    this.t_label.text = "whatever new string value";
}
0 голосов
/ 19 октября 2011

Попробуйте var labelStr:String = event.currentTarget.label;

0 голосов
/ 17 октября 2011

Дайте название вашей этикетке label.name='lblSomething'.
Тогда вы можете получить доступ по var mylabel:Label = myGroup.getChildByName(lblSomething) as Label

0 голосов
/ 17 октября 2011

Вы можете увидеть, является ли event.currentTarget меткой, приведя его с помощью оператора 'as'

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

...