首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android: onInterceptTouchEvent()从未接收到ACTION_UP (尽管从未返回!)

Android: onInterceptTouchEvent()从未接收到ACTION_UP (尽管从未返回!)
EN

Stack Overflow用户
提问于 2014-08-16 23:11:25
回答 1查看 273关注 0票数 0

我有一个RelativeLayout,它包含一个ListView

当我上下滚动列表视图时,我会在RelativeLayout的onInterceptTouchEvent()上体验到这一点

  • ACTION_DOWN被触发
  • 只会触发前5-6 ACTION_MOVE
  • ACTION_UP从未被解雇过

请注意:

  • 我没有实现任何onTouchEvent(),无论是在RelativeLayout上还是在ListView上
  • 我只对RelativeLayout进行子类化,实现onInterceptTouchEvent(),它总是返回false

有人能解释一下吗?

===

这是我使用的简单布局:

代码语言:javascript
运行
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView android:id="@+id/listview"
       android:layout_alignParentTop="true"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />

</RelativeLayout>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-17 02:06:26

如果我正确理解,您希望RelativeLayout接收ACTION_UP事件。视图组(RelativeLayout)将不会接收未来的触摸事件,除非它通过返回true来表示对第一个触摸事件的兴趣-所以您应该从onInterceptTouchEvent返回true,而不是false。

Dave在这里解释得很好:http://www.doubleencore.com/2014/01/dave-smiths-talk-from-andevcon-2013-android-touch/

摘要:返回true,而不是false。观看这段视频可以得到更好的解释:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25344853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档