Lader und onLoaderReset Android
Ich habe in meiner Anwendung einen Loader zum Abfragen von Daten aus der Datenbank implementiert. Ich höre den Veränderungen zu, die durch die Implementierung geschehenLoaderCallbacks<Cursor>
Hörer. Das Problem, das ich habe, ist, wenn ich das verwendeonLoaderReset(Loader<Cursor> loader)
Methode, wenn sich meine Daten ändern und ich alle mit dem Loader verknüpften Daten ungültig machen und freigeben möchte. In allen Beispielen gibt es bei dieser Methode den folgenden Aufruf:
mAdapter.swapCursor(null);
Aber das Problem ist, dass ich die Daten des Cursors im Adapter nicht verwende, sondern auf andere Weise in meiner Anwendung.
(direkt vom zurückgegebenen Cursor inonLoadFinished(Loader<Cursor> loader, Cursor data)
, zum Beispiel)
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
if (data.moveToFirst()) {
TOTAL_CARDS = data.getCount();
mView.createCards(TOTAL_CARDS);
} else {
TOTAL_CARDS = 0;
mView.createCards(TOTAL_CARDS);
}
}
Was wäre das Entsprechende hier zu tun, das ist ähnlich mitmAdapter.swapCursor
. Ich habe nicht viel Erfahrung mit Ladern. Ich habe gerade erst angefangen, mit ihnen zu arbeiten. Wenn also jemand eine Lösung dafür hat, würde ich das begrüßen. Vielen Dank!
EDIT: Im Moment übergebe ich null an den Loader und es funktioniert so:
@Override
public void onLoaderReset(Loader<Cursor> loader) {
loader = null;
}
};
Aber ist das die richtige Lösung?