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);
Just Check if you are using getFragmentManager()
to initialize the adapter , Try using getChildFragmentManager()
like this :
mAdapter = new MyPagerAdapter(getChildFragmentManager());
viewPager.setAdapter(mAdapter);