Fragmento como singleton en Android

Pregunta general ¿Puedo definir Fragmentos como Singletons?

Pregunta específica En mi aplicación tengo una 'FragmentActivity' con un FragmentPager que tiene dos fragmentos, FragmentA y FragmentB .

Definí los fragmentos como Singletons en el FragmentA extiende la clase Fragment :

 private static instance = null; public static FragmentA getInstance() { if (instance == null) { instance = new FragmentA(); } return instance; } private FragmentA() {} 

Y en mi FragmentPagerAdapter :

 @Override public Fragment getItem(int position) { switch(position){ Fragment fragment = null; case 0: fragment = FragmentA.getInstance(); break; case 1: fragment = FragmentB.getInstance(); break; } return fragment; } 

Y así es como hincho el diseño de los fragmentos:

 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { fragmentView = (RelativeLayout) inflater.inflate(R.layout.fragment_a_layout, container, false); return fragmentView; } 

Mi problema:

Cuando inicio mi aplicación, todo funciona bien. Cuando cierro mi aplicación y luego la vuelvo a iniciar, no veo ambos fragmentos.

Los fragmentos están destinados a ser componentes reutilizables de las aplicaciones. No deberías usarlos como singletons, sino que deberías implementar Fragment.SavedState o onSavedInstanceState.

 public class YourFragment extends Fragment { // Blah blah blah you have a lot of other code in this fragment // but here is how to save state @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt("curChoice", mCurCheckPosition); } @Override public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // savedInstanceState will have whatever you left in the outState bundle above } } 
  • Cómo no repetir el objeto instantiateItem () en PagerAdapter en android
  • La vista de Fragmento de ViewPager se pierde cuando el fragmento padre de ViewPager se oculta y luego se muestra
  • Vista fija en el diseño de contenido de Viewpager, bajo CoordinatorLayout
  • Aplique PageTransformer a PagerView tan pronto como sea posible
  • ViewPager java.lang.OutOfMemoryError: el tamaño de mapa de bits supera el presupuesto de VM
  • Actualizar el fragmento actual en FragmentPagerAdapter
  • Cómo cambiar el color del marcador actual de la pestaña en Android ViewPager?
  • ¿Cómo puedo habilitar las pestañas de la barra de acciones en un fragmento?
  • Animación de puntos mediante el buscapersonas
  • Android: intenta invocar el método virtual 'void android.support.v4.app.Fragment.setMenuVisibility (boolean)' en una referencia de objeto nulo
  • Toque los Listeners para las vistas de padres y niños
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.