aggiungo e rimuovere i frammenti in questo modo:Rimuovere frammento incidente
ADD
getSherlockActivity().getSupportFragmentManager()
.beginTransaction()
.setCustomAnimations(R.anim.slide_in_bottom, R.anim.slide_out_top, R.anim.slide_in_top, R.anim.slide_out_bottom)
.add(R.id.fragment_explore, fragment)
.addToBackStack(null)
.commit();
ActivityMain.BACKSTACK_EXPLORE.add(fragment);
RIMUOVERE
Fragment depopFragment = BACKSTACK_EXPLORE.get(BACKSTACK_EXPLORE.size() - 1);
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.slide_in_top, R.anim.slide_out_bottom, R.anim.slide_in_bottom, R.anim.slide_out_top)
.remove(depopFragment)
.commit();
BACKSTACK_EXPLORE.remove(depopFragment);
C'è un'animazione scorrimento veloce. Il frammento arriva dal basso e torna al basso.
Il mio problema è quando si preme il pulsante Indietro (depop il frammento) e prima che l'animazione è finita si tocca l'attività che appare dietro.
Mi dà una semplice fatale errore del segnale 11 (più spesso sul Samsung Galaxy s3)
Qualche idea?
Probabilmente non correlati al tuo problema, ma frammenti mantenendo (che negozio Context) in un contenitore statico è cattiva pratica. Potrebbe portare a perdite di contesto. – Dmide
Replicazione: questo succede solo su samsung galaxy s3 (android 4.3) mai su nexus4 (android4.4). Questo succede solo quando si rimuove il frammento. Solo se clicco su "framment1 behind" mentre l'animazione di rimozione di "framment2 above" è ancora attiva –