我需要嵌套几个触摸式监听器。例如,我有一个ViewGroup,它将具有以下监听器: onItemClick、onLongItemClick和onTouch.EV == move。
视图组中的项目也将有一个onClick。
在我的测试中,两组监听器都独立工作,但不是相互依赖的。有没有什么方法可以使监听者组相互链接?
谢谢~伊顿
发布于 2011-03-01 08:38:07
我不确定,但也许你可以将触摸事件从根视图分派到它的子视图(从活动开始)
@Override
public boolean onTouchEvent(MotionEvent event) {
if (ChildView.dispatchTouchEvent(event))
return true;
else
return false;
}用户单击按钮后,将触摸事件分派回根视图。
发布于 2011-03-01 02:57:25
所有事件都从根视图传播到子视图。如果视图不想处理事件,它会将事件传递给它的子视图。如果一个视图使用了一个事件,比如点击一个ViewGroup,你可以让它滴下来或者阻止它。通常从事件回调中返回false表示事件未被处理,返回true表示事件已被处理,不会被提供给任何其他视图。
假设您在ViewGroup中有一个按钮。如果您按下按钮,ViewGroup将首先接收事件,它可以选择不将事件传递给它的子项,在这种情况下,按钮将不会对单击做出响应。
https://stackoverflow.com/questions/5146171
复制相似问题