在Android中编辑内部java文件的正确方法
我想对gesturedetator.java的功能进行更改。简单的方法应该是创建一个从原始的GestureDetector扩展而来的自定义GestureDetector,并实现更改:在Android中编辑内部java文件的正确方法,java,android,android-studio,Java,Android,Android Studio,我想对gesturedetator.java的功能进行更改。简单的方法应该是创建一个从原始的GestureDetector扩展而来的自定义GestureDetector,并实现更改: public class CustomGestureDetector extends GestureDetector { public CustomGestureDetector(OnGestureListener listener, Handler handler) { super(lis
public class CustomGestureDetector extends GestureDetector {
public CustomGestureDetector(OnGestureListener listener, Handler handler) {
super(listener, handler);
}
public CustomGestureDetector(OnGestureListener listener) {
super(listener);
}
public CustomGestureDetector(Context context, OnGestureListener listener) {
super(context, listener);
}
public CustomGestureDetector(Context context, OnGestureListener listener, Handler handler) {
super(context, listener, handler);
}
public CustomGestureDetector(Context context, OnGestureListener listener, Handler handler, boolean unused) {
super(context, listener, handler, unused);
}
@Override
public void setOnDoubleTapListener(OnDoubleTapListener onDoubleTapListener) {
super.setOnDoubleTapListener(onDoubleTapListener);
}
@Override
public void setContextClickListener(OnContextClickListener onContextClickListener) {
super.setContextClickListener(onContextClickListener);
}
@Override
public void setIsLongpressEnabled(boolean isLongpressEnabled) {
super.setIsLongpressEnabled(isLongpressEnabled);
}
@Override
public boolean isLongpressEnabled() {
return super.isLongpressEnabled();
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return super.onTouchEvent(ev);
}
@Override
public boolean onGenericMotionEvent(MotionEvent ev) {
return super.onGenericMotionEvent(ev);
}
}
但是我想重写onTouchEvent函数并实现非常具体的更改,所以我不能在这里实现它们,然后调用超类,也不能将此函数的整个代码复制到这里,因为它依赖于其他变量
在这种情况下,我是否应该创建一个替代的GestureDetector,然后在我的项目中导入自定义的GestureDetector,而不是常规的GestureDetector
如果有必要,探测器的默认行为是在长按时禁用滚动功能,触发:
case MotionEvent.ACTION_MOVE:
if (mInLongPress || mInContextClick) {
break;
}
但我希望它在用户长时间按下并滚动时仍能启动
另外,另一个问题是,我不能将GestureDetector.java中的代码复制到我的项目中自己的类中,因为它实际上包含许多错误,然后它将不再编译。内部java文件编辑检查。如果我错了,请更正我的错误,但链接看起来不相关,我正在编辑项目中的一个文件,不处理我的应用程序的功能可以更改文件你是对的,你不能更改扩展的GestureDetector。