Я использую PagerSlidingTabStrip для фиксированных вкладок и 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);
}
Есть идеи, почему это могло произойти?
1 ответ
Основываясь на вашем коде, вы, очевидно, используете ViewPager во фрагменте (и ViewPager также показывает вложенные фрагменты).
Вы должны предоставить дочерний FragmentManager фрагмента, содержащий ViewPager (а не Activity) адаптеру ViewPager.
Вместо того:
PagerAdapter pagerAdapter = new PagerAdapter(getActivity().getSupportFragmentManager());
Использовать это:
PagerAdapter pagerAdapter = new PagerAdapter(getChildFragmentManager());
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.