19

我继续在我的 Sticky ListView 上工作,其中 ListView 中的指定视图在经过时会粘在顶部和/或底部。我通过设置一个与列表项相同的视图来实现这一点,并在列表项在屏幕上和离开屏幕时显示或隐藏它。

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

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

我希望它会像这样简单:

ListView list;

....

stickyview.setOnTouchListener(new OnTouchListener() {


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

    });
4

2 回答 2

27

我通过一些细微的调整得到了它:

stickyView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return list.onTouchEvent(event);
        }
    });
于 2012-11-18T15:50:15.173 回答
2

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

于 2017-11-02T22:34:11.777 回答