首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android中的事件处理方法返回的布尔值是什么意思

Android中的事件处理方法返回的布尔值是什么意思
EN

Stack Overflow用户
提问于 2010-09-21 07:51:56
回答 6查看 45.4K关注 0票数 113

在android中,大多数事件侦听器方法都返回布尔值。true/false值表示什么?它会对后续事件产生什么影响?

代码语言:javascript
复制
class MyTouchListener implements OnTouchListener {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        logView.showEvent(event);
        return true;
    }
}

关于上面的例子,如果在onTouch方法中返回true,我发现根据我的logView已经捕获了每个触摸事件(向下、向上、移动等)。相反,如果返回false,则只捕获DOWN事件。因此,返回false似乎会阻止事件的传播。我说的对吗?

此外,在OnGestureListener,中,许多方法也必须返回布尔值。它们的意思是一样的吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-21 09:08:16

如果您从ACTION_DOWN事件返回true,则表示您对该手势中的其余事件感兴趣。在这种情况下,“手势”指的是直到最终ACTION_UPACTION_CANCEL的所有事件。从ACTION_DOWN返回false意味着您不想要该事件,其他视图将有机会处理它。如果你有重叠的视图,这可以是一个兄弟视图。如果不是,它将冒泡到父级。

票数 145
EN

Stack Overflow用户

发布于 2010-09-21 07:56:37

来自文档:http://developer.android.com/reference/android/view/View.OnTouchListener.html#onTouch(android.view.View

如果侦听器已使用事件,则为True;否则为false。

如果返回true,则处理该事件。如果为false,它将转到下一层。

票数 25
EN

Stack Overflow用户

发布于 2010-09-21 07:55:49

布尔值确定是否使用该事件。

是的你说得对。如果返回false,则下一个侦听器处理该事件。如果返回true,则侦听器使用该事件,而不将其发送到下一个方法。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3756383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档