Android:检测长按整个活动

时间:2017-07-04 15:58:04

标签: java android

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

2 个答案:

答案 0 :(得分:1)

您可以覆盖活动的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);
}

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

答案 1 :(得分:0)

长按实际上是密钥的多个寄存器。所以你可以在输入上做一个while循环,只要输入不是NULL就可以运行你想要的方法。如果我理解正确,这应该可以解决问题......