2011-11-03 11 views
9

¿Cómo puedo extraer el fragmento de backstack sin reanudarlo? Solo quiero eliminar de la pila posterior, no quiero mostrarlo.¿Cómo puedo extraer el fragmento de backstack sin reanudarlo?

+0

¿Has encontrado una solución? Me he dado cuenta de que mi aplicación se bloquea en alrededor de 140 Fragmentos en el backstack, por lo que quiero comenzar a eliminar los más antiguos en alrededor de 100 Fragmentos, pero aún no he encontrado la manera de hacerlo. –

Respuesta

0

Es una cuestión de arquitectura.

1) Supongamos que tenemos 2 controladores (fragmentos/actividades): controlador A y controlador B. Ambos conectados a una instancia de algún Modelo (puede usar enlace con servicio, patrón Singleton o modelo init en Application- clase del heredero y hacer un getter a él). Cuando sucede algo interesante en el controlador B, notifica al modelo al respecto y luego modela las llamadas controllerA.finish()/controllerA.remove(). Por supuesto, siempre trato de implementar esta solución lo mejor posible, pero hay una idea principal.

2) En otras circunstancias, llamo finish() inmediatamente después de startActivity (intención);

3) También puedo escribir: startActivityForResult (intent, requestCode) y después de terminar el segundo método de actividad en ActionResult (requestCode, responseCode, intent) se llama - si requestCode son iguales, termino la actividad.

+0

Fragmento no tiene método de acabado. –

+0

¿Puede insertar una verificación simple directamente en Reanudar() o en Iniciar() - si es necesario eliminarla? – QuickNick

0

Si no utiliza el método de FragmentTransaction
public abstract FragmentTransaction addToBackStack (String name)
para agregarlo a la pila posterior. No será necesario eliminarlo.

+1

Necesito eliminar un fragmento específico de la pila posterior. popBackStack no funciona ya que reanuda el fragmento especificado. –

+0

¿Cuáles son los indicadores utilizados en popBackStack? intenta usar POP_BACK_STACK_INCLUSIVE. –

+0

Sí, he usado esta bandera. Se sigue llamando al registro de entrada de backstack. –

Cuestiones relacionadas