ここで緊急の助けが必要です。カスタム itemRenderer で TileList を使用してサービスからの情報を表示するアプリケーションを Flex 3 で作成しています。残念ながら、TileList のドラッグ/ドロップ/再配置部分で例外が発生しています。dragEnabled と dragMoveEnabled を使用すると、コントロール内のタイルを再配置しようとすると、完全に再現可能な例外が発生します。
例外:
ArgumentError: エラー #2004: パラメーターの 1 つが無効です。flash.utils::ByteArray/writeObject() で flash.desktop::Clipboard/putSerialization() で flash.desktop::Clipboard/convertFlashFormat() で flash.desktop::Clipboard/setData() で 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] mx.controls.listClasses::ListBase/dragStartHandler()[C:\autobuild\3.2.0\frameworks\projects\ Framework\src\mx\controls\listClasses\ListBase.as:9085] の flash.events::EventDispatcher/dispatchEventFunction() の flash.events::EventDispatcher/dispatchEvent() の mx.core::
カスタム 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(event) のコードは次のとおりです。
private function onReorder(event:DragEvent):void{
var indexStartDrag:Number = event.currentTarget.selectedIndex
var indexStopDrag:Number = this.memoList.calculateDropIndex(event);
Alert.show(indexStopDrag.toString());
}
デバッグしようとすると、デバッガーは問題のあるコードを示していないようです。
これを解決する方法について、誰かが私に正しい方向を示すことができますか?
前もって感謝します!
タジディン