- La actividad 1 es visible. Presione un botón y se abre la Actividad 2.
- Actividad 2 añade un fragmento de sí mismo (y posterior de pila) y muestra bien
- Al pulsar un botón dentro de las transiciones de fragmentos de otro fragmento, B
- Pulse Atrás. No pasa nada. ¿Huh? La retroceso aparentemente se absorbe y no se actúa, la pantalla sigue siendo la misma.
- Presione Atrás por segunda vez, se revierte a la Actividad 1, como se esperaba.
¿Por qué mi fragmento no se muestra en el paso 4? He agregado el fragmento a la pila posterior, ¿por qué (cuando el botón Atrás parece consciente de su existencia) no muestra el fragmento?¿Por qué Fragment.addToBackStack() hace que el botón Atrás no haga nada?
Aquí está el código que estoy usando en la actividad 2 para abrir Fragmento A.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_profile_edit);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
transaction.addToBackStack(null);
transaction.add(android.R.id.content, new MyFragment());
transaction.commit();
}
Y aquí está el código para abrir el fragmento B
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);
transaction.add(android.R.id.content, new MyOtherFragment());
transaction.commit();
Esto no ayuda. Si utilizo replace inicialmente (en lugar de agregar) no hay ningún fragmento que reemplazar, por lo que espero que se comporte igual. Si tuviera que usar reemplazar para mostrar el fragmento B, sobrescribiría el que quiero que las personas usen Atrás para volver, así que eso no ayudaría. –
bien, ¿estos dos fragmentos pertenecen a marcos diferentes? –
y ¿cuál es su código para colocar el fragmento B? –