gpt4 book ai didi

android - ListView父 View 无法拦截触摸事件

转载 作者:行者123 更新时间:2023-11-30 03:10:59 33 4
gpt4 key购买 nike

我有一个简单的布局:

<CustomFrameLayout>
<ListView />
</CustomFrameLayout>

在我的 CustomFrameLayout 中,我覆盖了:

onInterceptTouchEvent(MotionEvent event);

并返回错误。当滚动 ListView 时,onInterceptTouchEvent 收到 ACTION_DOWN 和第一个 ACTION_MOVE 事件。然后,ListView 似乎接管了并且 onInterceptTouchEvent 无法接收以下 ACTION_MOVE 事件。

这违背了文档中的说明:

For as long as you return false from this function, each following event (up to and including the final up) will be delivered first here and then to the target's onTouchEvent().

http://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent)

我研究过请求触摸事件不在 ListView 级别被拦截。

requestDisallowInterceptTouchEvent(boolean disallowIntercept)

这似乎没有任何效果。我是否也应该在 ListView 单元格 View 上调用它?还有什么我想念的吗?我在 Android 4.4 上测试

谢谢。

最佳答案

您应该在 onInterceptTouchEvent(MotionEvent event);

中返回 true

true 表示您愿意接收进一步的触摸操作,而 false 表示您对进一步的操作不感兴趣...

关于android - ListView父 View 无法拦截触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20986364/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com