在android中,大多数事件侦听器方法都返回布尔值。true/false值表示什么?它会对后续事件产生什么影响?
class MyTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
logView.showEvent(event);
return true;
}
}
关于上面的例子,如果在onTouch方法中返回true,我发现根据我的logView已经捕获了每个触摸事件(向下、向上、移动等)。相反,如果返回false,则只捕获DOWN事件。因此,返回false似乎会阻止事件的传播。我说的对吗?
此外,在OnGestureListener,中,许多方法也必须返回布尔值。它们的意思是一样的吗?
发布于 2010-09-21 09:08:16
如果您从ACTION_DOWN
事件返回true
,则表示您对该手势中的其余事件感兴趣。在这种情况下,“手势”指的是直到最终ACTION_UP
或ACTION_CANCEL
的所有事件。从ACTION_DOWN
返回false
意味着您不想要该事件,其他视图将有机会处理它。如果你有重叠的视图,这可以是一个兄弟视图。如果不是,它将冒泡到父级。
发布于 2010-09-21 07:56:37
如果侦听器已使用事件,则为True;否则为false。
如果返回true,则处理该事件。如果为false,它将转到下一层。
发布于 2010-09-21 07:55:49
布尔值确定是否使用该事件。
是的你说得对。如果返回false,则下一个侦听器处理该事件。如果返回true,则侦听器使用该事件,而不将其发送到下一个方法。
https://stackoverflow.com/questions/3756383
复制相似问题