Skip to content Skip to sidebar Skip to footer

Content Of Viewpager Disapear After Changing Fragments

i'm back here with a new Question. So at the moment i created an app , that can switch from a fragment to another fragment when you click on a button. And inside those 2 fragments

Solution 1:

To inflate fragments inside another fragment you need tu use getChildFragmentManager() instead of myContext.getSupportFragmentManager().

EDIT:

Use FragmentStatePagerAdapter as follows:

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;

import java.util.ArrayList;
import java.util.List;

publicclassViewPagerAdapterextendsFragmentStatePagerAdapter {

private List<Fragment> mFragmentList = newArrayList<>();
private List<String> mFragmentTitleList = newArrayList<>();


publicViewPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Overridepublic Fragment getItem(int position) {
    return mFragmentList.get(position);
}

//Check if the list is empty before return the size @OverridepublicintgetCount() {
    return mFragmentList != null ? mFragmentList.size() : 0;
}


publicvoidaddFragment(Fragment fragment, String title) {
    mFragmentList.add(fragment);
    mFragmentTitleList.add(title);
}

publicvoidaddFragment(Fragment fragment) {
    mFragmentList.add(fragment);
}

@Overridepublic CharSequence getPageTitle(int position) {
    if (!mFragmentTitleList.isEmpty()) {
        return mFragmentTitleList.get(position);
    }
    return"";
}

}

Then in your fragment just add the fragments you want to show in the viewPager:

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

...

viewPager = (ViewPager) view.findViewById(R.id.viewpager);
adapter = new ViewPagerAdapter(getChildFragmentManager());
adapter.addFragment(SlideToutesPlaylist.newInstance(), getString(R.string.title));
adapter.addFragment(SlideToutesPlaylist.newInstance(), getString(R.string.title));
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(2);

Post a Comment for "Content Of Viewpager Disapear After Changing Fragments"