Я пытаюсь использовать ViewPager и TabLayout не так, как обычно.
У меня есть 5 вкладок, и у каждой вкладки есть ViewPager, который имеет две страницы фрагмента (фрагмент и фрагмент B) каждая.
Для каждой вкладки ViewPager должен отображать одни и те же фрагменты страниц с различной информацией. (Например, заголовок вкладки отображается в виде фрагмента, заголовок вкладки 1 - «Android», а заголовок вкладки 2 - «IOS»)
Поскольку FragmentPagerAdapter устанавливает фрагменты в getItem (int position) методе, подобном приведенному ниже, я попытался отправить эту информацию этим методом (информация о вкладке).
Я обнаружил проблему, когда я запускаю ViewPager и устанавливаю на него адаптер, переход на него выполняется только один раз. Поэтому, когда ViewPager на вкладке 1 уже имеет значение A Fragment, заголовок «Android», он не изменится на «IOS», когда я перехожу на вторую вкладку Tab2.
Можно ли отправлять различную информацию на каждой вкладке ViewPager для получения информации по-разному?
Я вроде написал это слишком широко, может быть? если вам нужна более конкретная информация или вы не получили вопрос, пожалуйста, скажите мне, что я объясню вам больше.
Спасибо за помощь
Мой FragmentPagerAdapter
public class ManagerPagerAdapter extends FragmentPagerAdapter{
....
@Override
public Fragment getItem(int position){
...
/* I received informations about the tab, and setted to bundle.
So thought each tab gives different bundle data to AFragment.
But since the Adapter is setted only once, this method is not
called more than once*/
Bundle bundle = new Bundle();
switch(position){
case 0:
AFragment fragment_a = new AFragment();
fragment_a.setArguments(bundle);
return fragment_a;
case 1: //Not really matters
BFragment fragment_b = new BFragment();
return fragment_b;
}
}
}
Мой код TabLayout ничем не отличается от других примеров.
Еще раз спасибо !!!