-2

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

4

1 回答 1

0

创建自己的类 extends 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);
            }
        }
    }
}
于 2013-03-05T15:51:01.877 回答