OnTouchListener 的onTouch false 返回值不会阻止调用onTouchEvent。为什么每个人都这么说?

问题描述 投票:0回答:1

文档不是很清楚https://developer.android.com/reference/android/view/View.OnTouchListener,SO线程也没有任何帮助

所以答案

如果您返回 false,事件将传递给父视图进行处理。

所以我一遍又一遍地测试它,取任何视图,一个按钮,一个回收视图,任何东西。现在从它的

setOnTouchListener
方法返回 false。视图仍然表现正常。

这意味着事件不会流向其父级,它会在同一视图的

onTouchEvent
中被消耗。然而,从
onTouch
返回 true 将导致事件立即被消耗掉!无法观察到视图中的预期行为。

我想做什么:

我试图找出是否从视图的侦听器的

onTouch
方法返回false 实际上阻止了
onTouchEvent
被调用。它没有。然而网上大多数人都说是这样。

android android-layout view touch touch-event
1个回答
0
投票

你很困惑。返回 true 或 false 不会阻止 onTouchEvent 被调用。绝对没有人这么说。事实上,那是不可能的——onTouchEvent 就是调用 onTouchListener 的东西。返回 true 可以防止调用父视图的 onTouchEvent。包含被触摸视图的视图 - 它所在的布局。不是视图本身。

© www.soinside.com 2019 - 2024. All rights reserved.