如果我在OnTouchListener中返回false,会发生什么?

BTD*_*TDW 6 java android return ontouchlistener

我正在创建一个需要SurfaceView实现的游戏OnTouchListener.在游戏过程中,我想暂停监听器一段时间.我尝试从onTouch()方法中返回false ,但方法仍在继续执行.是否还有其他方法让监听器暂停一段时间?有人请解释一下从onTouch()实际意义上归还假的吗?

Mar*_*aTh 12

View文档中:

Returns
True if the listener has consumed the event, false otherwise.
Run Code Online (Sandbox Code Playgroud)

如果你回来,true你告诉android,媒体是照顾.算了吧.

如果你回来,false你基本上说"不是我的问题,其他人将不得不照顾这个点击".然后android会将事件传递给其他视图,这些视图可能在您的视图之下.


Jan*_*usz 5

如果您返回 true,则表明系统已使用该事件,如文档中所示。这意味着也有触摸侦听器的其他视图将不会获得此事件进行处理。如果返回 false,则事件将传递给父视图进行处理。

例如,如果您有一个嵌套在 Viewpager 中的 ListView,则 Listview 是第一个可以处理触摸事件的视图。如果是水平滑动,则不会通过 listview 处理事件,viewpager 将能够处理滑动。