Android PagerSlidingAbstrip:当方向改变时,标签之间的滚动会中断

Android PagerSlidingAbstrip:当方向改变时,标签之间的滚动会中断,android,scroll,android-viewpager,pagerslidingtabstrip,Android,Scroll,Android Viewpager,Pagerslidingtabstrip,我正在使用支持库中的固定选项卡和ViewPager。当我将方向从纵向更改为横向,并尝试从一页滚动到另一页,或尝试单击其中一个选项卡时,滚动不知何故中断。滚动指示器不按标签宽度移动,只按某个随机长度移动 @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); //TODO BUG orient

我正在使用支持库中的固定选项卡和ViewPager。当我将方向从纵向更改为横向,并尝试从一页滚动到另一页,或尝试单击其中一个选项卡时,滚动不知何故中断。滚动指示器不按标签宽度移动,只按某个随机长度移动

@Override public void onViewCreated(View view, Bundle savedInstanceState)
{
    super.onViewCreated(view, savedInstanceState);

    //TODO BUG orientation changes
    PagerAdapter pagerAdapter = new PagerAdapter(getActivity().getSupportFragmentManager());
    pager = (ViewPager) view.findViewById(R.id.viewpager);
    pager.setAdapter(pagerAdapter);

    PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) view.findViewById(R.id.tabs);
    tabs.setShouldExpand(true);
    tabs.setViewPager(pager);

    pager.setCurrentItem(0);
}

知道为什么会发生这种情况吗?

根据您的代码,您显然在片段中使用了ViewPager(ViewPager也显示嵌套片段)

您必须向ViewPager的适配器提供包含ViewPager的片段(不是活动的片段)的子片段管理器

而不是:

PagerAdapter pagerAdapter = new PagerAdapter(getActivity().getSupportFragmentManager());
使用以下命令:

PagerAdapter pagerAdapter = new PagerAdapter(getChildFragmentManager());

谢谢这正是我所需要的!