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

时间:2012-11-18 13:44:12

标签: android listview ontouchlistener

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

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

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

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

ListView list;

....

stickyview.setOnTouchListener(new OnTouchListener() {


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

    });

2 个答案:

答案 0 :(得分:25)

我稍微调整了一下:

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

答案 1 :(得分:2)

在我的情况下,我必须使用dispatchTouchEvent(MotionEvent event)来实现这一目标