计算在mx上列出项目的总时间:列出Actionscript 3.0

时间:2013-03-05 15:10:13

标签: actionscript-3 list air

当我刷新List的数据提供者时,我希望获得列出项目的总时间。我的意思是,当我更改数据提供程序时,加载两个新项目需要多少毫秒。
例如:我在数据提供程序中有3个项目,加载到列表时需要2毫秒。如果我推50项,可能是15毫秒。我检查了 mx.events.ListEvent ,但找不到合适的解决方案。
任何意见表示赞赏,谢谢

1 个答案:

答案 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);
            }
        }
    }
}