ein Fragment gegeben, die (viel) Daten aus der Datenbank einen Loader lädt.Android-Fragment - Verwenden des Lademanagers der Aktivität anstelle von Fragments. Ist es o.k?
Problem:
Ich habe einen Pager-Adapter, der das Fragment zerstört, wenn der Benutzer aus dem Reiter es hält weg bewegt und neu erstellt, wenn der Benutzer auf diese Register zurückkommt. Aufgrund dieser Erholung wird jedes Mal ein neuer Lader erstellt und die Daten werden jedes Mal geladen.
Frage:
zu vermeiden Um loader jedes Mal neu erstellt das Fragment erstellt wird, ist es ok getActivity.getSupportLoaderManager.initLoader(loaderId, null, false)
im onActivityCreated
Methode des Fragments zu benutzen?
ich es versucht habe, es getestet und es scheint gut zu funktionieren. Aber ich bin nicht überzeugt, dass es richtig ist.
Ich kann kein Problem mit diesem Ansatz sehen. Stellen Sie sicher, dass Sie eindeutige IDs pro Fragment verwenden (es sei denn, Sie mit Wiederverwendung des gleichen Lader sind ok) –
ich gemacht habe, dass die ID eindeutig ist. Es fühlt sich nicht richtig an. Denn wenn der Loader erstellt wird, registriert sich das Fragment selbst als Callback, und wenn das System das Fragment zerstört hat, lädt der Loader die Daten neu und versucht, die 'onLoadFinished()' Methode aufzurufen. – 500865
'onLoadFinished' würde in der Aktivität aufgerufen werden, die das Fragment nachschlagen müsste. Es könnte dort sein oder nicht (in diesem Fall ignorieren Sie einfach das Ergebnis). Wie auch immer, ich habe jetzt eine richtige Antwort hinterlassen. –