LoaderManager com vários carregadores: como obter o cursorloader certo
Para mim, não está claro como obter o cursor certo se você tiver vários carregadores. Digamos que você defina dois Loader diferentes com:
getLoaderManager().initLoader(0,null,this);
getLoaderManager().initLoader(1,null,this);
then inonCreateLoader () você faz coisas diferentes dependendo do 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;
}
Por enquanto, tudo bem. Mas como obter o cursor certo emonLoadFinished () porque você não obtém nenhum ID para identificar o Cursor certo para o Cursoradapter certo.
@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
ou estou errado e esta é a maneira errada de obter resultados para dois diferentes cursoradapter em um fragment