Добрый вечер.
У меня есть три фрагмента, и мне нужно перелистывать их во ViewPager'е.
И, чтобы при запуске открывался сразу второй фрагмент, чтобы к первому надо было листать бэксвайпом, а к третьему фрагменту просто свайпом.
Написал такой код в адаптере, получилась лажа:
FragmentManager fm = getSupportFragmentManager();
mViewPager.setAdapter(new FragmentStatePagerAdapter(fm) {
@Override
public Fragment getItem(int position) {
position = 2;
if(position == 1){
return new FirstFragment();
}
else if(position == 2) return new SecondFragment();
else return new ThirdFragment();
}
@Override
public int getCount() {
return 3;
}
});
mViewPager - ViewPager, объявленный ранее.
В данный момент запускается с первого фрагмента, вернее, позиция первая, но выводится второй фрагмент. Если листать дальше, то выводится все тот же второй фрагмент. Не знаю, почему.
Что посоветуете?
Ответ
Чтобы открыть viewpager сразу на нужной "странице" вызовите после того как поставили adapter в него:
viewpager.setCurrentItem(num)
Комментариев нет:
Отправить комментарий