tablayout studio navegar fragments example entre eliminar destruir android android-fragments android-viewpager android-nested-fragment

example - navegar entre fragments android studio



ViewPager en TabFragment no se carga por segunda vez (2)

Encontré el problema. Me tomó dos días, pero bueno, está arreglado.

En lugar de usar

mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration());

Deberías usar

mAdapter = new AlbumAdapter(getChildFragmentManager(), mActiveProject.getInspiration());

Tanto para 5 personajes

Intento crear una aplicación que tenga un ViewPager en un Fragmento que forma parte de un TabHost.

Todo funciona bien Tengo mi tabbar, puedo cambiar las pestañas. Cuando cambio a la pestaña con ViewPager, todo se muestra correctamente. Pero tan pronto como salgo de esta pestaña con ViewPager y devuelvo esta pestaña, mi contenido no se muestra. Si me desplazo hacia el lado dos veces, veo mi siguiente imagen. Y si retrocedo dos veces, también veo que las imágenes están cargadas (probablemente, las que están fuera de pantalla). Veo que mi TabFragment se está restableciendo cuando vuelvo, pero los fragmentos en ViewPager no están cargados.

He incluido una maqueta de pantalla y parte de mi código.

¿Alguien puede ayudar?

¡Aclamaciones!

@Override public void onActivityCreated(Bundle savedInstanceState) { mProjectText = (TextView) getView().findViewById(R.id.projectText); mProjectText.setText(mActiveProject.getInspirationText()); mAdapter = new AlbumAdapter(getFragmentManager(), mActiveProject.getInspiration()); mPager = (ViewPager)getView().findViewById(R.id.pager); mPager.setAdapter(mAdapter); super.onActivityCreated(savedInstanceState); } public class AlbumAdapter extends FragmentStatePagerAdapter { private ArrayList<ProjectContent> mItems; public AlbumAdapter(FragmentManager fm, ArrayList<ProjectContent> items) { super(fm); this.mItems = items; } @Override public Fragment getItem(int position) { return AlbumContentFragment.newInstance(mItems.get(position)); } @Override public int getCount() { return mItems.size(); } @Override public int getItemPosition(Object object) { return POSITION_NONE; }}


He estado buscando esto por mucho tiempo, finalmente encontré una solución. Cambie su ejemplo de adaptador de página FragmentPagerAdapter por el ejemplo de FragmentStatePagerAdapter :

class PageAdapter extends FragmentStatePagerAdapter {