Android: ¿Cuándo es apropiado utilizar FragmentTransaction.remove?

Pensé que había entendido que se supone que debes llamar a FragmentTransaction.add () en onCreate () y FragmentTransaction.remove () en onDestroy (). Mi aplicación se bloquea en onDestroy () con este error:

06-26 15:25:50.213: E/AndroidRuntime(579): java.lang.RuntimeException: Unable to destroy activity {com.myapp/com.myapp.MainActivity}: java.lang.IllegalStateException: Activity has been destroyed 

¿Cuándo debo llamar a estas cosas si no en onCreate / onDestroy ()?

Mi problema con esto es que cuando cambia a mi vista horizontal, y luego de nuevo a mi vista vertical, ahora tengo un diseño duplicado para al menos uno de los fragmentos anidados.

Mi conjetura es que esto es porque usted está agregando siempre el fragmento en onCreate() . Android recrea automáticamente fragmentos en los cambios de configuración. Por lo tanto, onCreate() debería comprobar si el fragmento ya existe antes de añadirlo:

  @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getSupportFragmentManager().findFragmentById(android.R.id.content)==null) { getSupportFragmentManager().beginTransaction() .add(android.R.id.content, new RotationFragment()).commit(); } } 

Ok, su solución funcionó, excepto en lugar de utilizar:

  if (getSupportFragmentManager().findFragmentById(android.R.id.content)==null) 

Solía:

  if (savedInstanceState==null) 

Al parecer, el gestor de fragmentos no está configurado por la función onCreate. Pero, puesto que su respuesta es la mayoría correcta, lo estoy marcando como una respuesta.

Quiero agradecerle de nuevo. Esta es la segunda vez que me has ayudado mucho, y realmente lo aprecio.

  • Fragmento de Android La transacción con animación provoca que el flash blanco
  • Fragmento de Android: ¿se mueve de una vista a otra?
  • ¿Qué hace exactamente FragmentManager y FragmentTransaction exactamente?
  • Cómo agregar / quitar Fragmento en el botón haga clic?
  • Android TextInputLayouts perder texto / contenido al volver en la transacción de fragmentos
  • FragmentTransacation con diapositiva en / out animación en> 4 rendimiento
  • Cambiar el orden z de Fragmentos durante la FragmentTransaction en curso
  • FragmentManager.getFragmens (). Size () no disminuyen después de FragmentTransaction.remove (Fragment)
  • android.R.id.content como contenedor para Fragment
  • Congelación de la interfaz de usuario cuando la transacción de fragmentos
  • Cómo reemplazar un ViewPager con un fragmento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.