我有一个有几个孩子的视图组。我想打开菜单,长按该视图组的任何部分,同时能够点击它的孩子并通过他们处理这个点击。我该如何实现这种行为?
我尝试使用onInterceptTouchEvent
和SimpleGestureListener
,但是onLongPress
没有返回任何内容,所以当我删除手指时,它仍然由它的孩子处理。
我能做到这一点的最好方法是将onLongPressListeners
放在子视图和打开菜单上,但这不是最好的方法。另外,我有些观点根本不了解菜单及其视图组。
更新:
添加一些代码。
@OnClick(R.id.comment_header)
public void commentHeaderClicked() {
if (userClickedListener != null) {
if (comment != null) {
userClickedListener.onUserClicked(comment.getUser());
}
}
}
@OnLongClick(R.id.comment_container)
public boolean commentLongClick() {
if (commentLongClickListener != null) {
commentLongClickListener.onCommentLongClick(commentId,
isMine,
isMyPost);
}
return true;
}
问题是,如果对点击视图感兴趣,则忽略ViewGroup
的长按。