Android 手动传递视图';s ontochevent to it';父母

Android 手动传递视图';s ontochevent to it';父母,android,Android,从子视图的onTouchEvent(比如ListView中的TextView),我想知道如果我想手动将此事件转发给其父视图,应该调用什么方法 我知道我可以简单地从TextView的覆盖调用super.onTouchEvent(),但我想手动调用父视图 我一直在查看消息来源,没有看到任何关于 parent.onTouchEvent(e) 所以我想知道这是怎么做到的 我在想这里可能有一个viewTreeObserver,但不太确定 谢谢。来自android api: API级别1中添加的公共布尔o

从子视图的onTouchEvent(比如ListView中的TextView),我想知道如果我想手动将此事件转发给其父视图,应该调用什么方法

我知道我可以简单地从TextView的覆盖调用super.onTouchEvent(),但我想手动调用父视图

我一直在查看消息来源,没有看到任何关于

parent.onTouchEvent(e)
所以我想知道这是怎么做到的

我在想这里可能有一个viewTreeObserver,但不太确定

谢谢。

来自android api:

API级别1中添加的公共布尔onTouchEvent(MotionEvent事件)

实现此方法以处理触摸屏运动事件。参数 运动事件。返回

True if the event was handled, false otherwise.
在父级、子级和子级中实现触控侦听器,如果希望传递事件,只需返回false,就会调用父方法。此触按将向上迭代触按继承权,直到触按被“消耗”

编辑--

要获取父对象,请尝试查看.getParent()


您可以在子对象的onTouchEvent中手动执行此操作。

在child on touch事件中,您是否可以不返回false,然后触摸将自动沿视图树层次结构传递到父对象的ontouch?正是从这个实现(从我的类TextView2:TextView)调用父对象的onTouchEvent()手动。所以我需要知道子视图是如何判断其父视图是谁的。我在TextView.java或View.java的源代码中没有看到类似的逻辑。我想我没有尝试b/c,我在源代码中没有看到它,95%的时间我调用了view.getParent()它的null(lol),但我会尝试一下。谢谢。您必须确保将getParent()强制转换为正确的类型,尽管这会引发一个关于错误强制转换的异常,而不是返回null是的,我刚刚得到一个强制转换异常,但一旦我得到正确的类型,我就得到了StackOverFlowException(heh),b/c我将进入一个TouchEvent/DispatchTouchEvent循环(这没关系,我会弄清楚那部分)…谢谢,我有点尴尬,我不是自己尝试的,我以为会有一些精心设计的,隐藏的把戏(你知道,一些类似android的东西:)谢谢!
TextView yourTV = (TV) findViewById(R.id.your_TV);
RelativeLayout yourRelLay = (RelativeLayout) yourTV.getParent();
yourRelLay.dispatchTouchEvent(motionEvent);