AndroidアプリにListFragmentとLoaderClassを使用したいと思います。(ハニカムレベルのSDK、ただしGoogleリリースの比較可能性パッケージ)
Fragmentでは、FragmemtライフサイクルでカーソルAPIを管理していますか?
アクティビティには「startManagingCursor(Cursorc)」があります
また
フラグメントは、そのライフサイクルでカーソルを自動的に管理しますか?
AndroidアプリにListFragmentとLoaderClassを使用したいと思います。(ハニカムレベルのSDK、ただしGoogleリリースの比較可能性パッケージ)
Fragmentでは、FragmemtライフサイクルでカーソルAPIを管理していますか?
アクティビティには「startManagingCursor(Cursorc)」があります
また
フラグメントは、そのライフサイクルでカーソルを自動的に管理しますか?
質問が正しいかどうかはわかりませんが、ローダーを使用しているときにカーソルがListFragmentで自動的に管理されるかどうかを尋ねる場合、答えは「はい」です。
ListFragmentで、LoaderManager.LoaderCallbacksインターフェースを実装してから、LoaderManagerからinitLoader()とrestartLoader()を使用して、ListFragmentのライフサイクル中にデータとカーソルを管理します。これを最適に機能させるには、基盤となるadatpterがswapCursor()メソッドをサポートしている必要があります。
次のようなもの:
class Foo extends ListFragment implements LoaderManager.LoaderCallbacks {
private MyAdapter mAdapter;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mAdapter = new MyAdapter();
getLoaderManager().initLoader(0, null, this);
}
@Override
public Loader onCreateLoader(int id, Bundle args) {
Uri MY_URI = "your data URI goes here";
return new CursorLoader(getActivity(), MY_URI, MY_PROJECTION, selection, selectionArgs, sortOrder);
}
@Override
public void onLoadFinished(Loader loader, Cursor data) {
mAdapter.swapCursor(data);
}
@Override
public void onLoaderReset(Loader loader) {
mAdapter.swapCursor(null);
}
}