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
The problem was that I used replace
instead of add
in the backstack.