Android 如何在使用ViewGroup处理tap时使用ViewGroup处理长按';儿童观点?

Android 如何在使用ViewGroup处理tap时使用ViewGroup处理长按';儿童观点?,android,gesture,touch-event,Android,Gesture,Touch Event,我有一个视图组,它有几个孩子。我想在长按该视图组的任何部分时打开菜单,同时能够点击它的子对象并由他们处理此点击。我如何实现这种行为 我尝试使用onInterceptTouchEvent和SimpleGetStureListener,但onLongPress不会返回任何内容,因此当我移除手指时,它仍然由它的孩子处理 我能做到这一点的最好方法是将onLongPressListeners放在儿童视图上,并从中打开菜单,但这不是最好的方法。我也有一些不应该知道菜单和它们的视图组的视图 更新: 添加一些代

我有一个视图组,它有几个孩子。我想在长按该视图组的任何部分时打开菜单,同时能够点击它的子对象并由他们处理此点击。我如何实现这种行为

我尝试使用
onInterceptTouchEvent
SimpleGetStureListener
,但
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;

}

问题是,如果有人对click view感兴趣,那么长时间单击查看组将被忽略

我想这充其量也难以实施。我倾向于同意您现有的答案,即您需要拦截触摸事件,并在
视图组中对所有内容(点击、长时间点击等)进行所有计算和决策。这让我觉得相当脆弱。就我个人而言,我不会试图做你所描述的事情。我建议您在
ListView
/
AbsListView
中寻找创意的“最佳”位置,以查看它们如何处理对行的长时间单击。