Мне непонятно, как получить правый курсор, если у вас несколько загрузчиков. Допустим, вы определяете два разных загрузчика с помощью:
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
или я ошибаюсь и это неправильный способ получить результаты для двух разных курсоров в одном фрагменте.
LoaderCallbacks
в данном случае) с более чем одним тип. Это просто работает в вашем случае, так как в обоих случаях результат будет Cursor
.
Loader
s. Пожалуйста, просмотрите этот stackoverflow.com/a/20839825/2818583