Per me non è chiaro come ottenere il cursore destro se hai più caricatori. Supponiamo che tu definisca due diversi Loader con:
getLoaderManager().initLoader(0,null,this);
getLoaderManager().initLoader(1,null,this);
quindi in onCreateLoader () fai cose diverse a seconda dell'id:
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle arg1) {
if (id==0){
CursorLoader loader = new CursorLoader(getActivity(),
MaterialContentProvider.CONTENT_URI,null,null,null,null);
}else{
CursorLoader loader = new CursorLoader(getActivity(),
CustomerContentProvider.CONTENT_URI,null,null,null,null);
};
return loader;
}
Fin qui tutto bene. Ma come ottenere il cursore destro in onLoadFinished () perché non si ottiene alcun ID per identificare il cursore corretto per il Cursoradapter corretto.
@Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) {
mycursoradapter1.swapCursor(cursor);
if(isResumed()){
setListShown(true);
}else {
setListShownNoAnimation(true);
}
}
//and where to get the cursor for mycursoradapter2
o mi sbaglio e questo è il modo sbagliato per ottenere risultati per due diversi cursoriadapter in un frammento.
LoaderCallbacks
in questo caso) con più di una genere. Funziona semplicemente nel tuo caso poiché entrambe le volte, il risultato è un file Cursor
.
Loader
s. Si prega di passare attraverso questo stackoverflow.com/a/20839825/2818583