我有一个ItemRenderer
包含 2 个状态的列表。当它初始化时,我将它设置为 1 状态并监听将其切换到状态 2 的事件。
protected function onCreationComplete(event:FlexEvent):void{
currentState = "state1";
addEventListener(CustomEvent.Event1, switcherfunc);
}
protected function switcherfunc(event:FlexEvent):void{
currentState = "state2";
}
两种状态之间的区别在于我隐藏/显示了一些标签。
问题是它不起作用。我仍然看到旧状态的视觉效果,即使 IAlert.show(currentState)
显示正确的状态名称。
我尝试invalidateDisplayList();
在 switch 函数中添加该行,但仍然没有运气。
protected function switch(event:FlexEvent):void{
currentState = "state2";
invalidateDisplayList();
}
我究竟做错了什么。有什么想法可以让这个 ItemRenderer 真正更新吗?