Search code examples
androidandroid-viewpagernavigationview

Can't update Fragments in Viewpager


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 ?


Solution

  • 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 ^^