Search code examples
androidandroid-fragmentsandroid-viewpagerandroid-viewis-empty

blank viewpager when back to that activity


i have this code:

...
ArrayList<View> views = new ArrayList<>();
            ArrayList<String> titulos = new ArrayList<>();
            views.add(viewPlan);
            views.add(viewPerfil);
            titulos.add("Planes");
            titulos.add("Perfil");

            ViewPager oPager = (ViewPager) getView().findViewById(R.id.pager);
            oPager.setOffscreenPageLimit(3);
            oPager.setAdapter(new FormAdapter(((FragmentActivity)getActivity()).getSupportFragmentManager(), views, titulos));

and this adapter:

class FormAdapter extends FragmentStatePagerAdapter {

        List<SolapaSocioFragment> solapas;
        ArrayList<View> views = new ArrayList<>();
        ArrayList<String> titulos = new ArrayList<>();

        public  FormAdapter(FragmentManager fm, ArrayList<View> views, ArrayList<String> titulos) {
            super(fm);
            solapas = new ArrayList<SolapaSocioFragment>();
            this.views = views;
            this.titulos = titulos;
            for (int i = 0; i < views.size(); i++ ){
                solapas.add(new SolapaSocioFragment().newInstance(views.get(i)));
            }
        }

        @Override
        public android.support.v4.app.Fragment getItem(int position) {
            return new SolapaSocioFragment().newInstance(views.get(position));
        }

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

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

the view pager show the views but when i go to othe activity and press the back button the views are blank, i saw on google that the problem is that i must use getChildFragmentManager() instead of (FragmentActivity)getActivity()).getSupportFragmentManager() but the childFragmentManager is incompatible with the constructor of FragmentStatePagerAdapter and FragmentPagerAdapter.What would be the problem? Thanks


Solution

  • The problem was that I used replace instead of add in the backstack.