我想更改Alert on timer tick中的文本,但没有任何变化,请参阅下面的示例:
private var alert:Alert;
private var timer:Timer = new Timer(1000, 0);
private function init(){
timer.addEventListener(TimerEvent.TIMER, onTimerTick);
timer.start();
alert = Alert.show("Logout in "+ 60 +" seconds","",3);
}
private function onTimerTick(event:TimerEvent):void{
alert.text = "Logout in "+(60-timer.currentCount)+" seconds";
}
P.S。标题被这种方式所覆盖。
提前感谢您提供任何帮助
答案 0 :(得分:1)
private var uiText:UITextField;
private function init():void{
timer.addEventListener(TimerEvent.TIMER, onTimerTick);
timer.start();
alert = Alert.show("Logout in "+ 60 +" seconds","",3);
var child:DisplayObjectContainer = alert.getChildAt(0) as DisplayObjectContainer;
uiText = child.getChildAt(0) as UITextField;
uiText.text;
}
private function onTimerTick(event:TimerEvent):void{
(timer.currentCount > 60) ? [timer.stop(), alert.parent.removeChild(alert)] : void;
uiText.text = "Logout in "+(60-timer.currentCount).toString()+" seconds";
}
这样的事情会有所帮助。
答案 1 :(得分:1)
好吧,所以这很难看。
alert.mx_internal::alertForm.mx_internal::textField.text = "...";
让您更新文字。它不漂亮,但它的工作原理。