Fragmento de transacción no funciona cuando se utiliza AppCompatActivity o FragmentActivity
Tengo una aplicación típica. Una actividad que tiene un FrameLayout y en este diseño quiero cambiar entre fragmentos. Esto es típico y fácil de hacer con:
getFragmentManager().beginTransaction() .replace(R.id.ac_container, new FrOverview()) .addToBackStack(null) .commit();
El problema es que incluso si uso .addToBackStack(null)
(Y sé que se ha agregado 'porque el recuento de pila aumenta) cuando presiono de nuevo salgo de la aplicación. He estado probando un montón de cosas de código diferente y comprobado la mayoría de los hilos aquí en Stackoverflow, pero no puedo conseguir que funcione con código (método de llamadas, etc).
- Métodos de fragmento: attach (), detach (), remove (), replace (), popBackStack ()
- ¿Cómo aplastar fragmentos en el backstack que coinciden con su etiqueta de fragmento?
- Cómo quitar la entrada anterior de la pila trasera de FragmentManager?
- Android ¿Cómo puedo "saltar a otra sucursal" en la pila de atrás de la actividad "árbol"?
- Cómo persistir los datos de fragmentos después de las transacciones backstack?
¡Pero! Puedo conseguir que funcione, cambiando la clase extendida de mi clase de actividad. Si mi clase extiende Activity
, funciona bien. Pero si uso AppCompatActivity
(que a su vez extiende FragmentActivity
) entonces tiene el mal comportamiento como se explicó anteriormente.
Se siente como esto tiene que ser un error en la parte Androids, no estoy haciendo nada malo a mi conocimiento.
¿Alguien tiene alguna sugerencia sobre cómo resolver esto? Es decir, obtener la funcionalidad de vuelta y mantener la ActionBar!
- Android: Eliminar todas las actividades anteriores de la pila posterior
- Recarga de WebView cuando Fragmento en ViewPager se retiene desde BackStack
- Botón Atrás cerrar la aplicación incluso cuando se utiliza FragmentTransaction.addToBackStack ()
- PopBackStack pero mantener el primer fragmento en android
- Android Fragmento Back Stack
- Imprimir la pila trasera actual en el registro
- Android - guardar / restaurar estado de fragmento
- Android: abrir la actividad sin guardar en la pila
AppCompatActivity
utiliza el SupportFragmentManager
, necesita cambiar a SupportFragment y SupportFragmentManager
- Agregar el widget Switch a ActionBar y responder al evento de cambio
- ¿Es una buena práctica de programación usar campos estáticos de importación?