在android中,大多数事件监听器方法返回一个 bool 值。真/假值是什么意思?它会导致后续事件发生什么?
class MyTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
logView.showEvent(event);
return true;
}
}
对于上面的例子,如果在onTouch方法中返回true,我发现每个触摸事件(DOWN,UP,MOVE等)都已根据我的logView捕获。反之,如果返回 false,则仅捕获 DOWN 事件。所以看起来 return false 会阻止事件传播。我说得对吗?
此外,在OnGestureListener中,许多方法也必须返回 bool 值。它们的含义相同吗?
最佳答案
如果您从 ACTION_DOWN
事件返回 true
,则您对该手势中的其余事件感兴趣。在这种情况下,“手势”是指直到最终 ACTION_UP
或 ACTION_CANCEL
之前的所有事件。从 ACTION_DOWN
返回 false
意味着您不希望该事件发生,其他 View 将有机会处理它。如果您有重叠 View ,这可以是同级 View 。如果没有,它将冒泡到父级。
关于android - Android 中事件处理方法返回的 bool 值的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406829/