2016-09-14 3 views
1

J'ai un fragment appelé le MainFragment avec un TabLayout. Le TabLayout a deux onglets avec un fragment chacun. Appelons-le Fragment A et Fragment B.Comment faire pour reprendre des fragments enfant sur le fragment parent reprendre

Lorsque j'ouvre le MainFragment, Fragment A et Fragment B sont peuplées dans le TabLayout comme prévu. Lorsque je reprends MainFragment, Fragment A et Fragment B ne sont pas repris, et je reçois deux onglets vides.

Mon MainFragment ressemble à ce

@Override 
    public View onCreateView(
      LayoutInflater inflater, @Nullable ViewGroup container, 
      @Nullable Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.main_fragment, null); 
    } 

    @Override 
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 

     Injector.component().inject(this); 

     setupViewPager(viewPager); 
     tabLayout.setupWithViewPager(viewPager); 

    } 

    private void setupViewPager(ViewPager viewPager) { 
     ViewPagerAdapter adapter = new ViewPagerAdapter(getFragmentManager()); 
     adapter.addFragment(new FragmentA(), "Fragment A"); 
     adapter.addFragment(new FragmentB(), "Fragment B"); 
     viewPager.setAdapter(adapter); 
    } 

Comment puis-je résoudre ce problème?

+0

Coller le code d'activité qui accueille MainFragment. – waqaslam

Répondre

3

Depuis les fragments A & B sont des fragments d'enfants de MainFragment, utilisez getChildFragmentManager() au lieu de getFragmentManager()