複数のローダーがある場合に正しいカーソルを取得する方法は明確ではありません。次のように 2 つの異なるローダーを定義するとします。
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;
}
ここまでは順調ですね。ただし、正しい Cursoradapter の正しい Cursor を識別するための ID を取得できないため、 onLoadFinished()で正しいカーソルを取得する方法。
@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
または私は間違っていますか?これは、1 つのフラグメントで 2 つの異なるカーソルアダプターの結果を取得する間違った方法です。