Bagi saya, tidak jelas bagaimana mendapatkan kursor yang tepat jika Anda memiliki banyak Loader. Katakanlah Anda mendefinisikan dua Loader yang berbeda dengan:
getLoaderManager().initLoader(0,null,this);
getLoaderManager().initLoader(1,null,this);
lalu di onCreateLoader () Anda melakukan hal yang berbeda bergantung pada 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;
}
sejauh ini baik. Tetapi cara mendapatkan kursor yang tepat di onLoadFinished () karena Anda tidak mendapatkan id untuk mengidentifikasi Cursor yang tepat untuk Cursoradapter yang tepat.
@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
atau saya salah dan ini adalah cara yang salah untuk mendapatkan hasil untuk dua adaptor kursor yang berbeda dalam satu fragmen.
LoaderCallbacks
dalam hal ini) dengan lebih dari satu Tipe. Ini hanya berfungsi dalam kasus Anda karena kedua kali, hasilnya adalah a Cursor
.
Loader
s. Silakan buka stackoverflow.com/a/20839825/2818583