我想要完成的方案如下: 我有主要的布局 - 这是一个framLayout,在其中我有包含不同视图的linearLayouts。我希望全局frameLayout将从子视图类接收触摸事件。
在每个子视图中,我都获取了全局frameLayout对象,并在其上执行了setOnTouchListener。然后,从UI,当我触摸插入到内部linearLayout的最后一个视图时,我正在接触触摸事件。但对于其他观点,我没有。
FramLayout
LinearLayout
View1 - not getting touch event
View2 - not getting touch event
View3 - not getting touch event
View4 - getting touch event
是否有人遇到类似的行为?
答案 0 :(得分:3)
您将onTouchListener设置为Framelayout 4次,但每次调用它时,它都会替换之前的onTouchListener。这就是为什么你的最后一个onTouchListener是唯一似乎有用的。如果是这种情况,你可以改为使用你希望FrameLayout的onTouchListener做的代码......并将它放在全局的某个地方,这样每个子视图的onTouch都会触发该全局函数。有意义吗?
另外,如果我的答案是正确的(以及其他已回答您问题的人),请您将我们的答案标记为正确吗?你可以点击我答案左边的空白复选标记来完成。它正好在数字(评级)之下
答案 1 :(得分:1)
在每个子视图中,我正在获取全局frameLayout对象,并在其上执行setOnTouchListener。
一个视图只能有一个OnTouchListener。在设置新侦听器时,您将覆盖先前的侦听器。