나는 여기에 도움이 필요하다. Flex 3에서 사용자 정의 itemRenderer가있는 TileList를 사용하여 서비스의 정보를 표시하는 응용 프로그램을 작성했습니다. 불행히도, 나는 TileList의 드래그/드롭/재배치 부분에 예외가 있습니다. 컨트롤에 타일을 재 배열 할 때로 dragEnabled 및 dragMoveEnabled으로, 나는 완벽하게 재현 예외가 나타날 수플렉스 3 TileList 드래그/드롭/재 배열 예외. 타일을 어떻게 재 배열합니까?
예외 :
:ArgumentError: Error #2004: One of the parameters is invalid. at flash.utils::ByteArray/writeObject() at flash.desktop::Clipboard/putSerialization() at flash.desktop::Clipboard/convertFlashFormat() at flash.desktop::Clipboard/setData() at mx.managers::NativeDragManagerImpl/doDrag()[C:\autobuild\3.2.0\frameworks\projects\airframework\src\mx\managers\NativeDragManagerImpl.as:282] at mx.managers::DragManager$/doDrag()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\DragManager.as:243] at mx.controls.listClasses::ListBase/dragStartHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:9085] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298] at mx.controls.listClasses::ListBase/mouseMoveHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\controls\listClasses\ListBase.as:8822]
여기에 사용자 정의 TileList 구성에 대한 코드입니다
<cmp:MemoTileList itemRenderer="CoverNote" dragEnabled="true" itemsChangeEffect="{this.myTileListEffect}" backgroundAlpha="0" id="memoList" dataProvider="{this.management.memoCollection}" right="0.049865723" left="0.05" top="0" bottom="0" focusEnabled="false" focusAlpha="0" borderStyle="none" direction="horizontal" textAlign="left" allowMultipleSelection="false" showEffect="fadeIn" hideEffect="fadeOut" effectEnd="fadeOut" effectStart="fadeIn" dragDrop="onReorder(event)" dragMoveEnabled="true"> </cmp:MemoTileList>
다음은 onReorder (이벤트) 코드입니다.
private function onReorder(event:DragEvent):void{
var indexStartDrag:Number = event.currentTarget.selectedIndex
var indexStopDrag:Number = this.memoList.calculateDropIndex(event);
Alert.show(indexStopDrag.toString());
}
디버깅을 시도 할 때 디버거가 내게 결함이있는 코드를 표시하지 않는 것 같습니다.
누구든지 해결 방법에 관해 올바른 방향을 제시 할 수 있습니까?
미리 감사드립니다.
Tajddin
AIR 런타임의 버그 중 하나를 고수 한 것 같습니다. NativeDragManager의 어딘가에서 오류가 발생하며 onReoder 메서드가 아무 관계가없는 것처럼 보입니다. 타일 목록의 내용이 AIR 런타임을 중단시키는 것입니다. – Hrundik