对我来说,如果您有多个加载器,则不清楚如何获得正确的光标。假设您定义了两个不同的 Loader:
getLoaderManager().initLoader(0,null,this);
getLoaderManager().initLoader(1,null,this);
然后在onCreateLoader()你根据 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;
}
到目前为止,一切都很好。但是如何在onLoadFinished()中获得正确的光标,因为您没有任何 id 来识别正确的 Cursoradapter 的正确 Cursor。
@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
还是我错了,这是在一个片段中获取两个不同光标适配器的结果的错误方法。