Android view 同时设置了 setOnClickListener 和 setOnTouchListener 后点击冲动怎么解决
时间: 2024-04-26 15:23:25 浏览: 146
当同时设置了 `setOnClickListener` 和 `setOnTouchListener` 后,点击事件会先被 `OnTouchListener` 拦截处理,然后再传递给 `OnClickListener`。如果在 `OnTouchListener` 中返回了 `true`,则表示事件已经被处理了,不会再传递给 `OnClickListener`。如果在 `OnTouchListener` 中返回了 `false`,则表示事件还需要传递给 `OnClickListener` 处理。
因此,如果点击事件冲突,可以尝试在 `OnTouchListener` 中返回 `true`,表示事件已经被处理,不再传递给 `OnClickListener`,这样就可以避免点击事件的冲突了。同时,你也可以在 `OnTouchListener` 里面调用 `performClick()` 方法来触发 `OnClickListener` 的逻辑,这样就可以在不冲突的情况下同时处理点击和触摸事件。
阅读全文