gpt4 book ai didi

android - ViewPager2 的 OnTouchListener

转载 作者:行者123 更新时间:2023-12-04 00:20:27 25 4
gpt4 key购买 nike

我最近将应用程序中的 ViewPager 更改为 ViewPager2。我为 viewPager 对象设置了一个 onTouchListener 来检测手势(onFling 和 onLongPress),如下所示:

mViewPager.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
mDetector.onTouchEvent(motionEvent); // use the custom gesture detector to detect onFling and onLongPress touch events.
return true;
}
});
在重构为 ViewPager2 之前,viewPager 的 onTouchListener 工作正常。我试过 this answer ,但它没有用。
任何人都知道为什么会出现这种情况以及我该如何解决?

最佳答案

因为ViewPager2是一个ViewGroup,所以最终的目标是里面的recyclerview。没有调用setOnTouchListener是因为recyclerview拦截了事件,先调用了onTouchEvent。
添加自定义 onTouch 逻辑的正确方法是调用

mViewPager.getChildAt(0).setOnTouchListener{...}

关于android - ViewPager2 的 OnTouchListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61119274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com