Reputation: 2354
Below is the code of my ViewpagerAdapter
private class ImagePagerAdapter extends FragmentStatePagerAdapter
{
public ImagePagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
Fragment fragment = new DemoObjectFragment();
Bundle args = new Bundle();
args.putInt(DemoObjectFragment.ARG_OBJECT, arg0 );
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
int returnVal=0;
if (totalPlayer%5==0) {
returnVal= totalPlayer/5;
}
else
{
moduloImage=totalPlayer%5;
returnVal= (totalPlayer/5)+1;
}
return returnVal;
}
@Override
public int getItemPosition(Object object){
return POSITION_NONE;
}
}
When i load my fragment first time, it displays all items in view pager. Then when i navigate to new fragment by adding this fragment into stack, It shows next screen. After that when i pop previous fragment which conatins viewpager from stack on button back press, It displays all values as i had set before and also shows viewpager indicator to the exact position at which i had left but view pager items seems to be shown invisible. When i scroll viewpager, it is updated and shows perfect.
I have tried by updating viewpager but it seems to be doing nothing.
I have intialized view pager as,
pager.setAdapter(new ImagePagerAdapter(this.getFragmentManager()));
pager.setCurrentItem(0);
indicator.setViewPager(pager);
Upvotes: 9
Views: 966
Reputation: 2354
Finally I found the solution. Issue was in initialisation of my viewPager.
I need to initiate it by,
pager.setAdapter(new ImagePagerAdapter(this.getChildFragmentManager()));
instead of
pager.setAdapter(new ImagePagerAdapter(this.getFragmentManager()));
I had refered FragmentPagerAdapter getItem is not being triggered accepted answer.
Hope it might help someone who is facing the same issue.
Upvotes: 14