Fragment vor dem Schließen der Schublade laden

8

Ich habe eine Navigationsleiste implementiert und möchte mein Fragment laden, bevor die Navigationsleiste geschlossen wird. Momentan wird das Fragment parallel zum Schließen der Schublade geladen. Wenn das Fragment also schwer ist, bleibt die Benutzeroberfläche ein wenig hängen.

Der Code, den ich habe, ist:

%Vor%

Wie kann ich das ändern, so dass ich sehe, dass mein Fragment zuerst geladen wird (im Hintergrund) und wenn das Laden beendet ist, schließt die Navigationsleiste?

    
user1908375 28.08.2013, 13:17
quelle

3 Antworten

3

Meine Lösung war, das Fragment NACH dem Schließen der Schublade zu laden: rufen Sie tatsächlich loadFragment-Methode in onDrawerClosed

auf %Vor%     
user1908375 31.01.2014, 17:18
quelle
3

Versuchen Sie zu laden, nachdem die Schublade geschlossen wurde Verwenden Sie den Handler, um eine verzögerte Ausführung zu erstellen. Damit es beim Schließen der Schublade nicht hängen bleibt

Verwenden Sie in der Methode onItemClick() den folgenden Code:

%Vor%

// Eine andere Möglichkeit ist

Erstellen Sie eine AsyncTask, und starten Sie in der doInBackground () -Methode die Fragmenttransaktion, und schließen Sie die Schublade in onPostExecute ()

    
Arvin 20.06.2014 09:31
quelle
2

DrawerLayout.DrawerListener kann verwendet werden, um den Zustand und die Bewegung von Schubladenansichten zu überwachen. Vermeiden Sie kostspielige Operationen wie das Layout während der Animation , da dies zu Problemen führen kann Stottern; Versuchen Sie, während des Zustands STATE_IDLE teure Operationen auszuführen. Quelle .

Mit anderen Worten empfiehlt Android, dass Sie darauf warten, dass sich Ihre Schublade schließt, bevor Sie Fragmente austauschen.

    
iamreptar 19.11.2013 22:39
quelle