나는IList Dataprovider에서 데이터 변경에 대해 DataGroup에 신호를 보내는 방법은 무엇입니까?
[Bindable]
public class MemList implements IList
{
public function MemList()
{
}
public function get length():int
{
var size:int = 5000;
return size;
}
public function addItem(item:Object):void
{
}
public function addItemAt(item:Object, index:int):void
{
}
public function getItemAt(index:int, prefetch:int=0):Object
{
var obj:Object = new Object();
obj.value = ByteStr(); // this function return a string
return obj;
}
public function getItemIndex(item:Object):int
{
return 0;
}
public function itemUpdated(item:Object, property:Object=null, oldValue:Object=null, newValue:Object=null):void
{
}
public function removeAll():void
{
}
public function removeItemAt(index:int):Object
{
return null;
}
public function setItemAt(item:Object, index:int):Object
{
return null;
}
public function toArray():Array
{
return null;
}
public function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void
{
}
public function removeEventListener(type:String, listener:Function, useCapture:Boolean=false):void
{
}
public function dispatchEvent(event:Event):Boolean
{
return false;
}
public function hasEventListener(type:String):Boolean
{
return false;
}
public function willTrigger(type:String):Boolean
{
return false;
}
}
처럼은 IList 인터페이스를 구현하고 MXML 파일에서 내가 뭐하는 거지, 데이터 공급자로 DATAGROUP에 그 객체를 제공하는이
<fx:Script><![CDATA[
[Bindable]private var list:MemList = new MemList();
protected function onBtnShow(event:MouseEvent):void
{
send(somenumber, MAX_SIZE, onShowResp);//get data from network
}
private function onShowResp(retVal:uint, ba:ByteArray):void
{
//this function called when ba bytearray is filled with data.
}
]]></fx:Script>
<s:Button id="btnShow" label="Show" click="onBtnShow(event)"/>
<s:Scroller verticalScrollPolicy="auto" id="aScroller"
liveScrolling="false">
<s:DataGroup id="dgMemView" width="100%" height="350"
dataProvider="{list}"
clipAndEnableScrolling="true"
itemRenderer="ItemRenderer"
>
<s:layout>
<s:VerticalLayout useVirtualLayout="true"/>
</s:layout>
</s:DataGroup>
</s:Scroller>
public function ByteStr(loc:uint):String
{
//this function can access ba bytearray filled with data. do some processing
on that data and return a string.
return string;
}
응용 프로그램 실행 데이터 그룹 아무것도 표시되지 않을 때 내 질문은 네트워크 데이터로 채워 져야하는 바 (bytearray)에는 데이터가 없기 때문입니다. 나는 show 버튼을 누르면 요청을하고 ba (bytearray)에 데이터를 채 웁니다. 데이터가 변경되었음을 데이터 그룹에 어떻게 알릴 수 있습니까? 플래시 빌더 4.5를 사용하고 있습니다. 감사합니다
으로 문서를 봅니다. scroll이 datagroup의 중간에 있다면. dispatch refresh 이벤트의 경우, 스크롤을 개시 위치에 이동시킵니다. 이 행동을 멈출 수 있습니까? –