如何检测整个活动的长按?因为onLongClickListener仅适用于个人视图。我希望每次用户长按屏幕时都运行一个方法
答案 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
就可以运行你想要的方法。如果我理解正确,这应该可以解决问题......