我创建了一个自定义视图,您可以在其上用手指绘制路径。它扩展了 View 类。
当我在 ListView 中使用它作为其项目之一时,如果用户触摸自定义视图,则 ListView 会滚动。我怎样才能防止这种情况发生?
我想我需要以某种方式关注我的自定义视图。但我不知道怎么做。
更新:
我找到了可能的解决方案。在我的自定义视图的onTouchEvent(Motion event)
方法中,我放置了getParent().requestDisallowInterceptTouchEvent(true);
.
如果没有这个,用户触摸自定义视图时的事件队列如下所示:
- MotionEvent.ACTION_DOWN
- MotionEvent.ACTION_MOVE
- MotionEvent.ACTION_MOVE
- MotionEvent.ACTION_CANCEL
当我收到MotionEvent
代码时MotionEvent.ACTION_CANCEL
,ListView
开始滚动。