LoaderManager с несколькими загрузчиками: как получить правильный загрузчик курсора

Мне непонятно, как получить правильный курсор если у вас несколько загрузчиков. Допустим, вы определяете два разных загрузчика с помощью:

getLoaderManager().initLoader(0,null,this);
getLoaderManager().initLoader(1,null,this);

, тогда в onCreateLoader () вы делаете разные вещи в зависимости от идентификатора:

@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;
} 

пока все хорошо. Но как получить правый курсор в onLoadFinished () , потому что у вас нет идентификатора для определения правильного курсора для правильного Cursoradapter.

@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

или я ошибаюсь, и это неправильный способ получить результаты для двух разных cursoradapter в одном фрагменте.

116
задан Alex Lockwood 23 May 2012 в 03:58
поделиться