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

时间:2016-07-05 10:45:27

标签: android android-viewpager android-recyclerview ontouchevent android-touch-event

我有ViewPager,其中包含3 Fragments。其中一个Fragments包含另一个ViewPager。这使它成为ViewPager内的级联ViewPager

我需要阻止内部ViewPager滑动/分页,同时允许它将滚动手势传递给包含的RecyclerView。< / p>

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

我尝试将以下NonSwipeableViewPager代码用于内部视图寻呼机:

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分页/滑动,但也会阻止它将触摸事件传递给RecyclerView

如何更改此ViewPager以使用滑动/分页手势,然后将滚动手势传递给RecyclerView

0 个答案:

没有答案