El contenido de todas las pestañas desaparece después de navegar a una página distinta de la página con pestañas y volver

Tengo un código que crea pestañas dinámicamente.

Esta es mi MyActivity.java

public class MyActivity extends AppCompatActivity {
.
.
.
.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.audit_form_activity);


        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


        tabLayout = (TabLayout) findViewById(R.id.tabLayout);


        try {
            JSONObject jsonObj = new JSONObject(page);

            JSONArray jssArray = jsonObj.getJSONArray("AuditQuestions");
            int jsonArrLength = jssArray.length();

            no_of_categories = jsonArrLength;

            for (int i = 0; i < jsonArrLength; i++) {
                JSONObject jsonChildObj = jssArray.getJSONObject(i);


                categoryName.add(jsonChildObj.getString("categoryName"));


            }

        } catch (JSONException e) {
            e.printStackTrace();
        }


        viewPager = (ViewPager) findViewById(R.id.pager);


        tabLayout = (TabLayout) findViewById(R.id.tabLayout);
        viewPager = (ViewPager) findViewById(R.id.pager);

        viewPager.setOffscreenPageLimit(no_of_categories);

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

    }

    private void setupViewPager(ViewPager viewPager) {
        Pager adapter = new Pager(getSupportFragmentManager());
        for (int i = 0; i < no_of_categories; i++) {
            Tab1 tab1 = new Tab1();
            adapter.addFragment(tab1, categoryName.get(i));

            viewPager.setAdapter(adapter);
            viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
            onTabSelectedListener(viewPager);
        }
    }

    private TabLayout.OnTabSelectedListener onTabSelectedListener(final ViewPager pager) {
        return new TabLayout.OnTabSelectedListener() {
            @Override
            public void onTabSelected(TabLayout.Tab tab) {
                pager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(TabLayout.Tab tab) {

            }

            @Override
            public void onTabReselected(TabLayout.Tab tab) {

            }
        };
    }

}

Este es mi adaptador Pager.java

public class Pager extends FragmentStatePagerAdapter  {
    int mNumOfTabs;
    Fragment fragment = null;

    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public Pager(FragmentManager manager) {
        super(manager);
    }

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

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}

Al eliminar esta línea de MyActivity.java, el contenido está allí en pestañas incluso después de salir de la página de pestañas y volver:

    viewPager.setOffscreenPageLimit(no_of_categories);

Pero no resuelve el problema porque los contenidos que se muestran en las pestañas son inconsistentes, es decir, los contenidos que se supone que aparecen en una pestaña aparecen en la otra pestaña.

Traté de resolverlo, pero sin éxito. ¿Puede tener que ver con el ciclo de vida de los fragmentos?

¿Cómo puedo solucionar esto

No puedo encontrar ninguna solución para esto. Por favor ayuda

Cualquier ayuda será apreciada.

¡Gracias por adelantado

Respuestas a la pregunta(0)

Su respuesta a la pregunta