La vista de fragmentos en ViewPager no se restaura al reanudar
Tengo la configuración de ActionBar Tabs. Se compone de 4 pestañas. Todo está bien hasta que me alejo deTabbedFragment
y regresando
Creo pestañas como esta:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ActionBar actionBar = getActionBar();
tabs = Lists.newArrayList();
tabs.add(new TabDefinition<>("Tab 1"));
tabs.add(new TabDefinition<>("Tab 2"));
tabs.add(new TabDefinition<>("Tab 3"));
tabs.add(new TabDefinition<>("Tab 4"));
for (TabDefinition tab : tabs) {
actionBar.addTab(actionBar.newTab()
.setText(tab.text)
.setTag(tab.tag)
.setTabListener(this));
}
}
E inicialice el adaptador de esta manera:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.paging_tab_container, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
viewPager = (ViewPager) view.findViewById(R.id.pager);
viewPager.setAdapter(new FragmentStatePagerAdapter(getFragmentManager()) {
@Override
public Fragment getItem(int position) {
return tabs.get(position).fragment;
}
@Override
public int getCount() {
return tabs.size();
}
});
viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
getActionBar().setSelectedNavigationItem(position);
}
});
viewPager.setCurrentItem(getActionBar().getSelectedNavigationIndex(), true);
}
Al volver aTabbedFragment
la pestaña seleccionada y 1 al lado no tendrían ningún contenido. Solo vista vacía. Pero si selecciono el contenido actual del fragmento + 2 se carga. Y luego volviendo a ese primer fragmento de contenido se vuelve a cargar.
Por ejemplo, tengo pestañas A, B, C, D. Antes de irseTabbedFragment
Había seleccionado la pestaña A. Al volver aTabbedFragment
Todavía estoy en la pestaña A, pero está vacío. Así es la pestaña B.
Pero al seleccionar la pestaña C se crea y carga. Volviendo a la pestaña A se vuelve a crear.
Cual podría ser el problema aquí?