Tuve el mismo problema.
Utilicé la práctica de Standart con el fragmento (Building a Flexible UI). Tengo dos fragmentos (ListItemsFragment y InfoItemFragment). Cuando se usa el tamaño de pantalla normal, reemplazo ListItemsFragment en InfoItemFragment y el método enHiddenChanged no se llama automático.
FragmentTransaction mFragmentTransaction = getFragmentManager().beginTransaction();
mFragmentTransaction.replace(R.id.container_fragment, new InfoItemFragment(), "tag_fr_infoItem");
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.commit();
Creo que debemos llamar al método hide FragmentTransaction. Por ejemplo:
ListItemsFragment mListItemsFragment;
FragmentTransaction mFragmentTransaction = getFragmentManager().beginTransaction();
mFragmentTransaction.replace(R.id.container_fragment, new InfoItemFragment(), "tag_fr_infoItem");
if (mListItemsFragment != null) {
mFragmentTransaction.hide(mListItemsFragment);
}
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.commit();
Y ahora el método enHiddenChanged funciona bien. Cuando el usuario vuelve a hacer clic en el botón mListItemsFragment, se muestra y el método enHiddenChanged se llama automático.
En la documentación dijeron: este será llamado cada vez que el fragmento de cambiar de estado que
Creo que hay que valor de cambio manual de entonces el método será llamado.
Gracias por la respuesta, pero el método no se llamó nunca. Así que lo resolví debido al hecho de que mi viewpager tiene un oyente. En este oyente, llamo al método onHidden-Changed. Estúpido, pero sí, funciona ahora. – mikepenz
Nunca ha sido llamado. –