gpt4 book ai didi

android - 不能同时处理点击和触摸事件

转载 作者:IT王子 更新时间:2023-10-28 23:53:36 24 4
gpt4 key购买 nike

我正在尝试处理按钮上的触摸事件和单击事件。我执行以下操作:

button.setOnClickListener(clickListener);
button.setOnTouchListener(touchListener);

当注册任何一个监听器时,一切正常,但当我尝试同时使用它们时,只会触发触摸事件。任何解决方法?我做错了什么?

最佳答案

这有点棘手。

如果你设置了onTouchListener,你需要在ACTION_DOWN中返回true,告诉系统我已经消费了这个事件并且它不会' t 渗透到其他听众。

但是 OnClickListener 不会被触发。

所以你可能会想,我会在那里做我的事情并返回 false 以便我也可以获得点击。如果您这样做,它将起作用,但您不会订阅其他即将发生的触摸事件(ACTION_MOVEACTION_UP)因此,唯一的选择是在此处返回 true,但是您将不会收到我们之前所说的任何点击事件。

所以您需要在 ACTION_UP 中使用 view.performClick()

手动执行点击

这会起作用。

关于android - 不能同时处理点击和触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com