Richtige Benachrichtigung von AsyncTaskLoader über Datenänderungen vom Hintergrund-Thread

Ich möchte umsetzenAsyncTaskLoader für meine benutzerdefinierte Datenquelle:

public class DataSource {
    public interface DataSourceObserver {
        void onDataChanged();
    }
    ...
}

DataSource führt eine Liste der registrierten Beobachter und benachrichtigt sie über Änderungen.CustomLoader umsetzen wirdDataSourceObserver. Die Frage ist, wie man richtig benachrichtigtCustomLoader schon seitLoader.onContentChanged() muss aber in meinem fall vom ui thread aufgerufen werdenDataSource Operationen (und Anrufe anDataSourceObserver.onDataChanged()) wird aus Hintergrund-Threads erstellt.

Aktualisiert mit Idee von Selvin Tipp:

public class CustomLoader extends AsyncTaskLoader<...> implements DataSource.DataSourceObserver {
    private final Handler observerHandler;

    public CustomLoader(Context context) {
        super(context);
        observerHandler = new Handler()
    }

    @Override
    public void onDataChanged() {
        observerHandler.post(new Runnable() {
            @Override
            public void run() {
                onContentChanged();
            }
        });
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage