0

カスタム Itemrenderer を含むスパーク リストがあります。約 500 の要素でバインドしているため、 virtuallayout を使用します。

アイテム レンダラーの datachange イベントを追跡したところ、最初の読み込みで約 120 個のアイテムがリストにバインドされていることがわかりました。ステージに 10 個のアイテムのみを表示する必要があるため、リストでフェッチされるアイテムの数を減らしたいのですが、この動作を取得するためにオーバーライドするプロパティまたは関数はありますか?

コードはとてもシンプルです

<s:List  id="thumbnailList" verticalScrollPolicy="off" 

 useVirtualLayout="true" itemRenderer="ThumbnailItemRenderer" >
        <s:layout>
            <s:HorizontalLayout gap="10"  requestedColumnCount="10"  />
        </s:layout>
    </s:List>

アイテムレンダラー

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                    xmlns:s="library://ns.adobe.com/flex/spark"
                    autoDrawBackground="false"  >
    <fx:Script>



            override public function set data(value:Object):void{
                super.data=value;
                if(data !=null){
                    LoadImg();

                }
            }


            protected function LoadImg():void{
                trace(data.pagnum.toString());
                var cacheDir:File=null;
                cacheDir= Config.DirCache();
                var folder:File = new File(cacheDir.nativePath + Config.CATALOG_FOLDER_NAME + Config.selected_catalog_id + "/");                    
                var file:File = new File(folder.nativePath + "/" + data.pagnum.toString() + "_th.jpg"); 
                trace(file.url);
                thumbnail.source = file.url;

                cacheDir=null;
                folder=null;
                file=null;

            }



    </fx:Script>


    <s:Image id="thumbnail" top="0" left="0" right="0" bottom="0" scaleMode="letterbox" cacheAsBitmap="true"  />
</s:ItemRenderer>

そしてリストの束縛

thumbnailList.dataProvider= {ArrayCollection with about 480 items}
4

0 に答える 0