I'm developing an Android Application where I have a ViewPager in my MainActivity, consisting of 3 Fragments. The Problem is as follows, when I swipe to the 3rd fragment, and get back to the 1st one, onCreateView of fragment 1 is called which is what I really want, however, If I swipped to the 2nd fragment only, and returned to the 1st one, onCreateView is not called! I need to find a solution to this problem, I spent hours trying to find a solution but didn't know to solve it. Here's the code related to the ViewPager in my MainActivity
private void setupViewPager(final ViewPager viewPager) {
final ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFrag(new voting(), "ONE");
adapter.addFrag(new dashboard(), "TWO");
adapter.addFrag(new chats(), "THREE");
myAdapter=adapter;
viewPager.setAdapter(adapter);
viewPager.setOffscreenPageLimit(0);
}
private class ViewPagerAdapter extends FragmentStatePagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<Fragment>();
private final List<String> mFragmentTitleList = new ArrayList<String>();
private ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
Log.i("getItem","getItem");
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
private void addFrag(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
//added newly
@Override
public int getItemPosition(Object object){
return PagerAdapter.POSITION_NONE;
}
@Override
public CharSequence getPageTitle(int position) {
return null;
}
}