Android,java,view.setOnTouchListener

时间:2019-01-02 09:10:51

标签: java android

我有一个sendRaw(),带有一个适配器,一切都很酷。我添加了res.sendRaw(200, 'Operation was Successful', <some Header Data> or null),以便可以在屏幕上从左到右滚动此recyclerview以及动画和其他元素。但是在那之后,上下滚动中断了view.setOnTouchListener,并且其中的元素上的recyclerview停止了工作。该怎么办以及如何解决此冲突?

此刻,我可以将return false放在recyclerview中,而不是return onclicklistener中,并可以上下滚动,但是左右停止工作。当在左右添加svayp时,桌布和收藏品的滚动没有中断时,我可以像在ios中那样同时滚动。

public boolean onTouch (View v, MotionEvent event) method;

例如,在ios中,这非常简单,不会破坏收藏夹的滚动:

gestureDetector.onTouchEvent (event);

这是一个视频: https://2ch.hk/pr/src/1314926/15464190246250.mp4 https://2ch.hk/pr/src/1314926/15464193253190.mp4

1 个答案:

答案 0 :(得分:1)

如果您只想使用默认的触摸处理实现,则必须在此处返回false

@Override
public boolean onTouch(View v, MotionEvent event) {
    gestureDetector.onTouchEvent(event);//Idk if it is needed or not - out of scope
    return false;
}

否则,触摸事件将被视为已消耗,并且不会传播到其他处理程序(处理滚动,单击等-停止为您工作的所有东西)