微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 即使我为它返回true也没有调用MotionEvent.ACTION_DOWN

我有一个用于ListViews的LinearLayout的onTouchListener,我试图使用ACTION_DOWN和ACTION_UP数据来检测用户何时刷到下一个ListView.但是,MotionEvent永远不会等于ACTION_DOWN,尽管ACTION_UP工作正常.经过大量的谷歌搜索,我能找到的唯一解决方案是在调用事件时返回true,但我已经这样做了.这是我的onTouchListener代码

View.OnTouchListener mTouchListener = new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v,MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                downX = event.getX();
                return true;
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                upX = event.getX();
                if(userSwipedfarenough)
                    doStuff()
                return true;
            }
            return false;

        }

    };

解决方法

我弄清楚发生了什么,我的listview的scrollview以某种方式窃取了action_down,因此没有被调用.当我有一个空的列表视图和滚动工作时,我意识到了这一点.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐