从它的视图主要布局上的android touch listener

时间:2012-11-09 17:34:28

标签: android ontouchlistener android-framelayout

我想要完成的方案如下: 我有主要的布局 - 这是一个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 

是否有人遇到类似的行为?

2 个答案:

答案 0 :(得分:3)

嗯...没有代码,诊断起来有点棘手,但我怀疑这种情况 - >

您将onTouchListener设置为Framelayout 4次,但每次调用它时,它都会替换之前的onTouchListener。这就是为什么你的最后一个onTouchListener是唯一似乎有用的。如果是这种情况,你可以改为使用你希望FrameLayout的onTouchListener做的代码......并将它放在全局的某个地方,这样每个子视图的onTouch都会触发该全局函数。有意义吗?

另外,如果我的答案是正确的(以及其他已回答您问题的人),请您将我们的答案标记为正确吗?你可以点击我答案左边的空白复选标记来完成。它正好在数字(评级)之下

答案 1 :(得分:1)

  

在每个子视图中,我正在获取全局frameLayout对象,并在其上执行setOnTouchListener。

一个视图只能有一个OnTouchListener。在设置新侦听器时,您将覆盖先前的侦听器。