如何在FragmentStatePagerAdapter上禁用滑动?

时间:2015-09-16 00:22:29

标签: android android-fragments android-viewpager fragmentstatepageradapter

我正在使用教程here,该教程使用带有FragmentStatePagerAdapter的TabLayout。一切都很棒,除了我需要禁用第二个选项卡上的滑动,因为它使用水平滚动。如果对所有选项卡都禁用了滚动,那也没关系,但如果只为第二个选项卡禁用滚动它会很棒。

对于ViewPager,我会覆盖onInterceptTouchEvent()方法,但这似乎不是FragmentStatePagerAdapter的选项。关于如何做到这一点的任何想法?感谢。

编辑:我只有两个片段,所以如果FragmentStatePagerAdapter不合适,我愿意接受建议。

编辑2 :未解决的问题已经解决。但是,我仍然想知道如何防止只扫描第二个片段。

1 个答案:

答案 0 :(得分:2)

修改onInterceptTouchEventonTouchEvent以仅排除所需的标签索引:

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    switch(getCurrentItem()){
        case 1:
            return false;
        default:
            return super.onInterceptTouchEvent(event);
    }
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    switch(getCurrentItem()){
        case 1:
            return false;
        default:
            return super.onTouchEvent(event);
    }
}