I have a NavigationView where I have tabs like "Home","Profile","Service"
etc. When I click one of them I want to change the TabLayout and the Input of my ViewPager (Visible Fragments). I change the TabLayout , in the onNavigationItemSelected
listener, with the method tabLayout.setupWithViewPager(tabViewPager);
which works fine for my TabTitles.
And the change for my Viewpager I try this : tabViewPager.setAdapter(viewPagerAdapter1);
and for example in an other navigation click tabViewPager.setAdapter(viewPagerAdapter2);
.
My ViewPager class looks like this :
public class TabViewPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragmentList = new ArrayList<>();
private List<String> mFragmentTitleList = new ArrayList<>();
Resources resources;
public TabViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFrag(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}}
So Im init. my Adapter like this in the beginning :
viewPagerAdapter1 = new TabViewPagerAdapter(getSupportFragmentManager());
viewPagerAdapter1.addFrag(new Home1Fragment(),"abc");
viewPagerAdapter1.addFrag(new Home2Fragment(),"def");
But nothing changes !The Viewpager is still the same only my Titles of my Tabs are changing. How can I solve this ?
I didn't find a good solution so I decided to make fragments for all Navigations. And In these fragments I made seperate Viewpager. Now I have more than one Viewpager.
I think it's not the best solution but it works ^^