1

DragEventテスト目的でシミュレートする必要があります。ただし、DragEvent.obtain()メソッドにアクセスできません。

simulate DragEventDragListener の onDrag() メソッドで DragEvent のアクションを定義できる方法を提案してください

Touch MotionEvent の場合、MotionEvent.obtain() と関連するパラメーターを渡すことでこれを行うことができますが、DragEvent の場合、このメソッドにはアクセスできません。

4

2 に答える 2

2

DragEvent.obtain()は、 @hideアノテーションで確認できるようにまだ公開されていない内部API関数です。

回避策として、パーセル可能なオブジェクトhttp://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/view/DragEventからDragEventを作成できます 。 java#488

DragEvent.CREATOR.createFromParcel(parcel);
Parcel parcel = Parcel.obtain();
parcel.writeInt(action);
parcel.writeFloat(x);
parcel.writeFloat(y);
parcel.writeInt(0); // Result
parcel.writeInt(0); // No Clipdata
parcel.writeInt(0); // No Clip Description
parcel.setDataPosition(0);

Clipdataを追加する場合は、createFromParcel()メソッドを参照してください。

于 2013-01-13T10:32:49.850 に答える
0

DragEventここでは、Android でを実装するためのガイドとなる非常に優れたチュートリアルをいくつか提供しています。これを参照して、テスト目的で実装できます。

編集されたリンク:
1) Link1
2) Link2
3)ドラッグ イベントの開発者サイト

それがあなたを助けることを願っています。

ありがとう。

于 2013-01-12T06:19:00.013 に答える