Android 在处理包含的RecyclerView的滚动时,防止在级联ViewPager中分页/滑动:

Android 在处理包含的RecyclerView的滚动时,防止在级联ViewPager中分页/滑动:,android,android-viewpager,android-recyclerview,touch-event,android-touch-event,Android,Android Viewpager,Android Recyclerview,Touch Event,Android Touch Event,我有一个ViewPager,其中包含3个片段。其中一个片段包含另一个ViewPager。这使得它成为查看页面内部的级联查看页面 我需要防止内部ViewPager滑动/分页,同时允许它将滚动手势传递到包含的回收视图 是的,我很清楚ViewPager内部的ViewPager不是一个好主意,但是在这种情况下,ViewPager不应该滑动,而是将手势传递给子视图。因此,在同一方向上不应该存在两个滑动机制的问题 我尝试使用以下nonswipableviewpager代码作为内部视图页面: public c

我有一个
ViewPager
,其中包含3个
片段。其中一个
片段
包含另一个
ViewPager
。这使得它成为
查看页面
内部的级联
查看页面

我需要防止内部
ViewPager
滑动/分页,同时允许它将滚动手势传递到包含的
回收视图

是的,我很清楚
ViewPager
内部的
ViewPager
不是一个好主意,但是在这种情况下,ViewPager不应该滑动,而是将手势传递给子视图。因此,在同一方向上不应该存在两个滑动机制的问题

我尝试使用以下
nonswipableviewpager
代码作为内部视图页面:

public class NonSwipeableViewPager extends ViewPager {

  public NonSwipeableViewPager(Context context) {
        super(context);
    }

    public NonSwipeableViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        // Never allow swiping to switch between pages
        return false;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // Never allow swiping to switch between pages
        return false;
    }
}
这确实阻止了
ViewPager
分页/刷卡,但也阻止了它将触摸事件传递给
回收视图


如何更改此
ViewPager
以使用滑动/分页手势,同时将滚动手势传递给
回收视图

我不会帮您解决问题,但告诉您,ViewPager中的ViewPager是个坏主意-尝试更改您的设计。(这与在scrollview中内置水平循环视图的情况相同)在大多数情况下都是正确的,但在这种情况下,我不希望内部视图寻呼机是可交换的,这应该不会是一个问题。所以它基本上是一个片段容器,当我按tab键时,它会给我一个很好的滑动动画,但不会通过滑动来改变页面,这对我来说很有用