genannt wird Ich habe zwei Fragmente A & B.
I gewechselt haben von A unter Verwendung von folgenden Code B:Bildschirm bleibt, wenn popBackStack()
FragmentManager fragmentManager;
FragmentTransaction transaction;
fragmentManager = getActivity().getFragmentManager();
transaction = fragmentManager.beginTransaction();
transaction.setCustomAnimations(R.animator.enter_anim, R.animator.exit_anim,R.animator.popenter, R.animator.popexit);
transaction.replace(R.id.fragmentLayout, new B())
.addToBackStack("tag").commit();
B SQLite Operationen (SugarORM) enthält.
Während der Wechsel von A nach B bleibt der Bildschirm hängen, auch wenn ich AsyncTask
& IntentService
für db-Operationen verwende.
Wenn ich die Taste [getFragmentManager().popBackStack();
] drücke, bleibt der Bildschirm für ein paar Sekunden stehen, bevor er von A auf A zurückschaltet.
Die Animation ist ebenfalls nicht sichtbar.
Ich versuchte, unbestimmten Fortschrittsbalken & Animation-Liste in Bildansicht zu zeigen, aber sie frieren auch & es sieht aus, als ob sie statische Bilder sind.
Überprüfen Sie, ob Ihr FRAGMENT A irgendwelche blockierenden Aufrufe in onCreateView/onViewCreated hat. –
poste deine AsyncTask. und Sie können Animation sehen, indem Sie die Verzögerung erhöhen. – Nepster
loggen Sie alle Ihre Methoden in beide Fragmente ein und Sie können herausfinden, indem Sie Protokolle überprüfen, während denen zwei Prozesse (zwischen denen 2 Protokolle) so lange Zeit genommen wird und Sie den Grund beheben können (besonders in onResume oder in onPause) wenn möglich Fügen Sie den Code ein. –