Java Android:检测整个活动的长按

Java Android:检测整个活动的长按,java,android,Java,Android,如何检测整个活动的长时间按压?因为onLongClickListener仅用于单个视图。我希望每次用户长按屏幕时运行一个方法长按实际上是键的多个寄存器。因此,您可以在输入上执行循环,只要输入不是NULL运行所需的方法。如果我没弄错的话,这就可以了……长按实际上是键的多个寄存器。因此,您可以在输入上执行循环,只要输入不是NULL运行所需的方法。如果我理解正确,这应该可以解决问题…您可以覆盖活动的dispatchTouchEvent()方法。您还需要一个手势检测器来确定哪些动作事件是“长按”。将此信

如何检测整个活动的长时间按压?因为onLongClickListener仅用于单个视图。我希望每次用户长按屏幕时运行一个方法

长按实际上是键的多个寄存器。因此,您可以在输入上执行
循环,只要输入不是
NULL
运行所需的方法。如果我没弄错的话,这就可以了……

长按实际上是键的多个寄存器。因此,您可以在输入上执行
循环,只要输入不是
NULL
运行所需的方法。如果我理解正确,这应该可以解决问题…

您可以覆盖活动的
dispatchTouchEvent()
方法。您还需要一个手势检测器来确定哪些动作事件是“长按”。将此信息应用到您的活动中:

final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
    public void onLongPress(MotionEvent e) {
        // The code for when a long-press happens
    }
});

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);
    return super.dispatchTouchEvent(event);
}

请注意,我没有测试上述代码。

您可以覆盖活动的
dispatchTouchEvent()
方法。您还需要一个手势检测器来确定哪些动作事件是“长按”。将此信息应用到您的活动中:

final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
    public void onLongPress(MotionEvent e) {
        // The code for when a long-press happens
    }
});

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);
    return super.dispatchTouchEvent(event);
}

请注意,我没有测试上述代码。

为父布局添加侦听器。我尝试了,但不起作用。为父布局添加侦听器。我尝试了,但不起作用