1

我有一个FiewFlipperListViews 作为孩子。我一直在寻找一种在触摸事件GestureDetector到达孩子之前拦截触摸事件的方法 - 一种通过 ViewFlipper 全局拦截触摸事件的方法。

扩展 FiewFlipper 并实施onInterceptTouchEvent (MotionEvent ev)似乎是解决方案。这对大多数孩子都很有效。但是,当列表视图开始滚动时,onInterceptTouchEvent 停止接收事件。

我知道可以设置每个列表视图的 OnTouchListener,但这会破坏我试图创建的简单层次结构。

4

2 回答 2

0

唔。我曾经有一个带有单个列表视图的活动,我在其中重新填充了适配器作为投掷手势的结果。我通过实现活动的 dispatchTouchEvent 方法来做到这一点:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    super.dispatchTouchEvent(ev);
    return gestureDetector.onTouchEvent(ev);
}

listview 仍然收到正常事件,但我的gestureDectector 也必须品尝它们。也许类似的方法对您有用?

于 2011-03-23T23:23:34.993 回答
0

正如 adamp 所评论的,这种行为是故意的,不需要对抗。我将手势监听器应用于子元素。

于 2011-05-15T18:27:32.310 回答