当我刷新List的数据提供者时,我希望获得列出项目的总时间。我的意思是,当我更改数据提供程序时,加载两个新项目需要多少毫秒。
例如:我在数据提供程序中有3个项目,加载到列表时需要2毫秒。如果我推50项,可能是15毫秒。我检查了 mx.events.ListEvent ,但找不到合适的解决方案。
任何意见表示赞赏,谢谢
答案 0 :(得分:0)
创建自己的类扩展mx:List,见下:
package classes
{
import flash.utils.getTimer;
import mx.controls.List;
public class ListCustom extends List
{
private var _time:Number;
public function ListCustom()
{
super();
}
override public function set dataProvider(value:Object):void
{
_time = getTimer();
super.dataProvider = value;
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if (!isNaN(_time))
{
var delay:Number = getTimer() - _time;
_time = NaN;
trace("delay", delay);
}
}
}
}