ViewPager没有滑动并将滑动传递给父TabLayout

时间:2015-09-30 09:01:30

标签: android android-fragments android-viewpager

我在ViewPager嵌套了Fragment。并希望手动切换Fragment内的ViewPager。我成功地做到了这一点。

我通过这样做来禁用滑动。

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;
    }
}
问题是当我这样做的时候。我也禁用滑动父标签。

任何想法?

2 个答案:

答案 0 :(得分:1)

删除onInterceptTouchEvent()onTouchEvent()的替换,并改为使用:

@Override
public boolean canScrollHorizontally(int direction) {
    return false;
}

答案 1 :(得分:0)

您是否尝试过将autoStart设置为false的ViewFlipper?

您可以将每个片段嵌套到其上,以setDisplayedChild(child#)

切换查看的片段

https://developer.android.com/reference/android/widget/ViewFlipper