【发布时间】:2014-01-08 03:15:20
【问题描述】:
我有一个简单的布局:
<CustomFrameLayout>
<ListView />
</CustomFrameLayout>
在我的 CustomFrameLayout 中,我正在覆盖:
onInterceptTouchEvent(MotionEvent event);
并返回 false。滚动 ListView 时,onInterceptTouchEvent 接收 ACTION_DOWN 和第一个 ACTION_MOVE 事件。然后,ListView 似乎接管了,onInterceptTouchEvent 无法接收到以下 ACTION_MOVE 事件。
这违背了文档的规定:
只要您从此函数返回 false,每个后续事件(直到并包括最终的 up)都将首先在这里传递,然后再传递到目标的 onTouchEvent()。
我已经研究过请求在 ListView 级别不被拦截的触摸事件。
requestDisallowInterceptTouchEvent(boolean disallowIntercept)
这似乎没有任何效果。我也应该在 ListView 单元格视图上调用它吗?还有什么我想念的吗?我正在 Android 4.4 上进行测试
谢谢。
【问题讨论】:
标签: android listview motionevent