Global Loader (LoaderManager) zur Wiederverwendung in mehreren Aktivitäten / Fragmenten

Was ich erreichen möchte:

Ich habe zwei verschiedene Fragmente. Ich möchte, dass beide dieselben Daten in zwei Formen (in einer Liste und auf einer Karte) anzeigen. Ich möchte, dass sie sich einen Loader teilen (AsyncTaskLoader im Speziellen). Alles funktioniert gut, aber der Loader wird nicht wiederverwendet. Ein weiteres wird erstellt und die Daten werden zweimal geladen.

Was ich mache:

In demFragmentIch benutzeLoaderManager lm = getActivity().getSupportLoaderManager(); In beiden implementiere ichLoaderCallbacks<ArrayList<Item>> und die erforderlichen Methoden. In beiden benutze ichlm.initLoader(0, args, this);.

Aber wenn ich das ausgebelm.toString() Es scheint, dass dies zwei verschiedene Loader sind. Und die Daten werden zweimal heruntergeladen.

Wie kann von einer anderen Aktivität / einem anderen Fragment als der, in der / dem es gestartet wurde, erneut eine Verbindung zum selben Loader hergestellt werden?

Es sollte möglich sein, da der Kontext auf jeden Fall an den Loader angehängt wirdonCreate(), z.B. bei Konfigurationsänderung.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage