Android:将手势事件传递给另一个视图

问题描述 投票:16回答:2

我继续在Sticky ListView上工作,其中ListView中的指定视图将在经过时粘贴到顶部和/或底部。我通过设置一个与列表项相同的视图,并在列表项在屏幕上和屏幕上传递时显示或隐藏它。

我的问题是,当这些“粘性”项目存在时,我希望它们对触摸作出反应,就像它们是listview本身的一部分一样。例如,向下粘贴顶部粘贴应该会向下滚动列表视图。

我的问题是,是否可以为此视图分配触摸侦听器,然后将这些事件直接传递给列表。

我希望它会像以下一样简单:

ListView list;

....

stickyview.setOnTouchListener(new OnTouchListener() {


        @Override
        public boolean onTouch(View arg0, MotionEvent motionEvent) {
            list.onTouchEvent(motionEvent);
            return false;
        }

    });
android listview ontouchlistener
2个回答
25
投票

我稍微调整了一下:

stickyView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return list.onTouchEvent(event);
        }
    });

2
投票

在我的情况下,我不得不使用dispatchTouchEvent(MotionEvent event)实现这一点

© www.soinside.com 2019 - 2024. All rights reserved.