Android View Pager Adapter shows empty screen

user3789702 picture user3789702 · Jul 19, 2014 · Viewed 12.2k times · Source

I am implementing Pager Adapter in a Fragment. When I load the screen First time, it works fine. If i switch to other fragment and goes to previous fragment again the it shows empty screen. If I swipe between different tap and move to first tab again then it shows data.

I think on moving back the tabs which are visible didn't load data but once they are out of view during swipe navigation it loads data.

Here is my Pager Adapter:

public class MyPagerAdapter extends FragmentPagerAdapter {

    public MyPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int index) {
        switch (index) {
        case 0:
            return new Fragment1();
        case 1:
            return new Fragment2();
        case 2:
            return new Fragment3();
        case 3:
            return new Fragment4();
        case 4:
            return new Fragment5();
        case 5:
            return new Fragment6();
        }

        return null;
    }

    @Override
    public int getCount() {
        return 6;
    }
}

I am setting my adapter like this:

viewPager = (ViewPager) rootView.findViewById(R.id.my_pager);
        mAdapter = new MyPagerAdapter(getActivity().getSupportFragmentManager());
        viewPager.setAdapter(mAdapter);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        

Answer

Manish picture Manish · Jul 21, 2014

Just Check if you are using getFragmentManager() to initialize the adapter , Try using getChildFragmentManager() like this :

   mAdapter = new MyPagerAdapter(getChildFragmentManager());
        viewPager.setAdapter(mAdapter);