Как переключить, какие фрагменты отображает ViewPager

Застрял на этом на некоторое время; Я был бы очень признателен за помощь.

У меня есть ViewPager, который отображает фотографии и метаданные о них (Fragment1). Если пользователь нажимает на фотографию, я хотел бы переключиться на полноэкранный режим (фрагмент2). Вот в чем дело: как только пользователь пролистнет Fragment2, следующее представление также должно снова загрузить Fragment2, а не Fragment1.

Я хотел бы сделать это в FragmentStatePagerAdapter, так как он уже знает список объектов для отображения.

Чтобы еще раз уточнить: если я проведу пальцем от Fragment1, я должен увидеть другой Fragment1. Если я проведу пальцем от Fragment2, я должен увидеть еще один Fragment2. Если я нажму Back в Fragment2 (somePosition), он должен загрузить Fragment1 (somePosition).

Спасибо!


person Dimitri    schedule 29.01.2015    source источник
comment
Добавьте немного кода, что вы сделали до сих пор, тогда я могу помочь   -  person Ammar ali    schedule 29.01.2015
comment
Попробуйте использовать фрагментарные переходы. Документация находится здесь: developer.android.com/reference/android/app/   -  person vipluv    schedule 29.01.2015


Ответы (1)


Используйте этот код в своем пейджере:

@Override
public Fragment getItem(int position) {
    if (position == 0) {
       if(mFragment1 == null){
            mFragment1 = new Fragment2();
       }
       return mFragment1();
    } else if (position == 1) {
         if(mFragment2 == null){
             mFragment2 = new Fragment2();
         }
         return mFragment2;
    } else {
        return null;
    }
}

ОБНОВЛЕНИЕ:
Для изменения фрагмента используйте этот код в списке кликов:

 mPager.setCurrentItem(1); // 0 = first fragment, 1 = secnd fragment 
person YFeizi    schedule 29.01.2015
comment
Я не уверен, что понимаю: я думаю, что это покажет Fragment2, когда position==0 и Fragment1, когда position==1. Я хочу всегда показывать Fragment1, пока вы не нажмете на изображение, а затем начнете показывать Fragment2. Имеет ли это смысл? - person Dimitri; 29.01.2015
comment
когда ваш pos равен 0, он показывает ваш первый фрагмент, а по поводу клика я обновлю свой ответ. - person YFeizi; 29.01.2015