he creado una aplicación de muestra para probar este problema superposición superposición.tecla de retroceso para hacer estallar los espectáculos Fragmento fragmentos
Tengo un tipo de fragmento, Fragment1, y creo una nueva instancia de Fragment1 y la agrego a FrameLayout en mi actividad en tiempo de ejecución. Agrego el fragmento con la ayuda de unos pocos botones.
Nota: He dado a cada instancia nueva de Fragment1 un número diferente (n. ° 1, n. ° 2, n. ° 3, etc.) para mostrar en la interfaz de usuario y ayudarme a determinar qué fragmento estoy viendo.
Así que .. esto es lo que hago:
- Haga clic en el botón 3, crear una nueva instancia de Fragment1 y añadirlo a Frame1.
- Haga clic en el botón 4, crear nueva instancia de Fragment1 y añadirlo a Frame1 y añadirlo a la backstack fragmento.
- Repita 1 y 2.
- Repita 1 y 2.
Ahora, he fragmentos en este orden: 1 (# 1), 2 (# 2), 1 (# 3), 2 (# 4), 1 (# 5), 2 (# 6).
que pulse la tecla retroceder en la visualización fragmento # 6.
- Tecla de retroceso, visualización de IU (# 5).
- prensa, pantallas de interfaz de usuario Volver clave (# 3 y # 5),
- pulsar la tecla Atrás, muestra la interfaz de usuario (# 1, # 3 y # 5)
Parece fragmentos están siendo representada EN TOP el uno del otro.
¿POR QUÉ? ¿Hay un problema superpuesto? ¿Cómo puedo eliminar este problema superpuesto? Pensé que esto sería un problema en la biblioteca de compatibilidad ... pero también está en 3.0.
Códigopara añadir fragmentos:
public int doFragmentChange(int cont1, Fragment frag1, String tag1, int cont2, Fragment frag2, String tag2,
boolean addToStack, String stackTag) {
FragmentManager fm = getFragmentManager();// getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
if (frag1 != null) {
ft.replace(cont1, frag1, tag1);
}
if (frag2 != null) {
ft.replace(cont2, frag2, tag2);
}
// add fragment to stack
if (addToStack)
ft.addToBackStack(stackTag);
return ft.commit();
}
como puedo ver, no hay dos llamadas de agregado por confirmación. al lado enfrenté el mismo comportamiento superpuesto. http://stackoverflow.com/questions/14269350/how-to-keep-only-first-initial-fragment-in-back-stak-fragment-overlapping – Arvis