Saltar al contenido

¿Cómo eliminar todos los fragmentos anteriores del fragmento actual, excepto el actual y el primero?

Solución:

Al destruir el Fragment F5 claro Back Stack hasta F2.

Prueba algo como esto:

public método en tu MainActivity:

public void clearBackStackInclusive(String tag) {
     getSupportFragmentManager().popBackStack(tag, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}

ahora en tu F5 fragmento:

@Override
public void onDestroy() {
   super.onDestroy();
   ((MainActivity)getActivity()).clearBackStackInclusive("tag"); // tag (addToBackStack tag) should be the same which was used while transacting the F2 fragment
}

Referencia

Puede administrar tareas con banderas. Por ejemplo, esto borrará todas las actividades en la parte superior de la casa.

Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent)

Por lo tanto, si comienza 4 o 5 o más tareas durante la actividad en el hogar, puede llamar a finalizar el quinto y regresar a casa.

Espero una versión fragmentada, pero depende de la forma en que administre las tareas.

EDITAR

Lo encontré por fragmentos:

FragmentManager.popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE)

Lo que hará que aparezcan todos los estados hasta el mencionado.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *