Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中编辑内部java文件的正确方法_Java_Android_Android Studio - Fatal编程技术网

在Android中编辑内部java文件的正确方法

在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

我想对gesturedetator.java的功能进行更改。简单的方法应该是创建一个从原始的GestureDetector扩展而来的自定义GestureDetector,并实现更改:

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。