我需要模拟DragEvent
以进行测试。但是,我无法访问DragEvent.obtain()
方法。
请建议simulate DragEvent
的方法,以便我可以在DragListener的onDrag()方法中为DragEvent定义动作
对于Touch MotionEvent,我们可以通过MotionEvent.obtain()并传递相关参数,但是在DragEvent的情况下无法访问此方法
答案 0 :(得分:2)
DragEvent.obtain()是一个内部API函数, @hide 注释看不到它。
作为一种解决方法,您可以从parcelable对象创建DragEvent http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/view/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()方法。
答案 1 :(得分:0)
在这里,我将为您提供一些非常好的教程,这些教程将指导在android中实现DragEvent
。您可以参考并实施它以用于测试目的。
编辑链接:
1)Link1
2)Link2
3)Developer Site for Drag Event
希望它会对你有所帮助。
感谢。