ViewPager PagerAdapter mit Cursor - CursorLoader.onLoadFinished wird nicht mit einer anderen Abfrage aufgerufen

8

Ich mache eine Anführungszeichen-Anwendung, die die Anführungszeichen aus der Datenbank holt, und ich muss Anführungszeichen in einem ViewPager anzeigen.

Ich habe meinen CursorPagerAdapter erstellt, der gut zu funktionieren scheint.

%Vor%

}

Ich verwende auch CursorLoader, um die Datenbank asynchron zu laden

%Vor%

Mit ContentProvider

%Vor%

Alles funktioniert gut, es lädt alle Zitate schön, aber jetzt muss ich die Suche durchführen. Also mache ich eine Methode, die die Datenbank abfragt

%Vor%

Die Abfrage ist gut, ich kann sehen, wie ContentProvider.query () aufgerufen wird und cursor.getCount (),

ausgibt

JETZT wird onLoadFinished in MainActivity jedoch nicht aufgerufen, obwohl cursor.setNotificationUri () gesetzt ist, und ich gehe davon aus, dass es funktioniert, weil es beim ersten Start der Anwendung funktioniert.

Ich habe tatsächlich versucht, einige Daten mit dem Inhaltsanbieter einzufügen und getContext () aufzurufen. getContentResolver (). notifyChange (uri, null); und es hat die OnLoadFinished ausgelöst, so dass ich keine Ahnung habe, warum diese andere Abfrage das OnLoadFinished nicht auslöst.

Vielen Dank, wer wird das verstehen.

    
urSus 06.10.2012, 14:24
quelle

1 Antwort

4

MainActivity - hinzufügen / ändern:

%Vor%

Sobald die Methodensuche ausgelöst wurde, rufen Sie getLoaderManager (). restartLoader () auf Ihrem Loader auf. Ihre alten Daten werden verworfen und restartLoader wird den onCreateLoader erneut aufrufen.


Vergessen Sie nicht den alten Cursor, nachdem er getauscht wurde

    
ra. 06.10.2012, 21:51
quelle