Come posso estrarre il frammento dal backstack senza riprenderlo? Voglio solo rimuovere dallo stack posteriore, non voglio visualizzarlo.Come posso estrarre il frammento dal backstack senza riprenderlo?
risposta
È una questione architettonica.
1) Supponiamo di disporre di 2 controller (frammenti/attività): controller A e controller B. Entrambi collegati a un'istanza di alcuni modelli (è possibile utilizzare l'associazione con servizio, modello Singleton o modello init in Application- erede di classe e ne fa un getter). Quando qualcosa di interessante accade nel controller B, notifica al modello e quindi chiama chiamate controllerA.finish()/controllerA.remove(). Certo, cerco sempre di implementare questa soluzione nel modo migliore possibile, ma c'è un'idea principale.
2) In altre circostanze, chiamo finish() immediatamente dopo startActivity (intent);
3) Inoltre, posso scrivere: startActivityForResult (intent, requestCode) e dopo aver terminato il metodo di seconda attività suActivityResult (requestCode, responseCode, intent) viene chiamato - se requestCode è uguale, termino l'attività.
Il frammento non ha alcun metodo di finitura. –
Si può inserire un semplice controllo a destra su onResume() o su onStart() - se è necessario rimuovere? – QuickNick
Se non si utilizza il metodo di FragmentTransaction public abstract FragmentTransaction addToBackStack (String name)
per aggiungerlo allo stack posteriore. Non sarà necessario rimuoverlo.
Ho bisogno di rimuovere frammenti specifici dallo stack posteriore. popBackStack non funziona poiché riprende il frammento specificato. –
Quali sono i flag utilizzati in popBackStack. prova a utilizzare POP_BACK_STACK_INCLUSIVE. –
Sì, ho usato questo flag. OnResume della voce backstack è ancora chiamato. –
- 1. Come determinare frammento restaurato backstack
- 2. Come cancellare Frammento backstack in Android
- 3. Pop la backstack frammento senza giocare la Pop-Animation
- 4. Android Rimuovere Frammento e vista dalla BackStack
- 5. Android - Backstack mentre si sostituisce il frammento in ViewPager
- 6. Transazioni frammento, barra delle azioni e backstack
- 7. programmazione tornare al frammento precedente nella backstack
- 8. Come aggiungere un frammento al backstack in MvvmCross 4.0?
- 9. Determinare frammento backstack stato di vuoto in Android
- 10. Come posso estrarre database dal mio android sul mio desktop?
- 11. Come posso estrarre datetime dal testo a mano libera?
- 12. Usura Android Backstack non funzionante
- 13. Salvataggio di un backstack attraverso il cambio di orientamento
- 14. Impossibile eseguire il cast dal frammento
- 15. Come estrarre le immagini dal file swf?
- 16. Come mantenere i dati dei frammenti dopo le transazioni backstack?
- 17. Come estrarre ObjectMapper dal client JAX-RS?
- 18. Ripristino Android istanza dello stato di un frammento che si trova nel backstack
- 19. Posso usare CollapsingToolbarLayout in un frammento dal cassetto di navigazione
- 20. Come estrarre il valore da javax.naming.directory.Attribute
- 21. Utilizzo di onSaveInstanceState con frammenti nel backstack?
- 22. Come iniettare dipendenza dal frammento Android nidificato?
- 23. Come estrarre le classi dal file .jar?
- 24. Come estrarre gli URL dal testo
- 25. Come estrarre la frazione diadica dal galleggiante
- 26. Come estrarre un assembly dal GAC?
- 27. Come estrarre AST dal codice Objective-C?
- 28. frammento senza attività
- 29. JQuery Come estrarre il valore dal tag href?
- 30. onAttach callback dal frammento all'attività
Hai trovato una soluzione? Ho notato che la mia app si blocca a circa 140 frammenti nel backstack, quindi voglio iniziare a rimuovere quelli più vecchi a circa 100 frammenti ma non ho ancora trovato il modo di farlo. –