Here are the examples of the java api class android.support.v4.app.LoaderManager.LoaderCallbacks taken from open source projects.
1. TaskListViewPagerFragment#onActivityCreated()
Project: NotePad
File: TaskListViewPagerFragment.java
File: TaskListViewPagerFragment.java
@Override public void onActivityCreated(final Bundle state) { super.onActivityCreated(state); loaderCallbacks = new LoaderCallbacks<Cursor>() { @Override public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) { return new CursorLoader(getActivity(), TaskList.URI, new String[] { TaskList.Columns._ID, TaskList.Columns.TITLE }, null, null, getResources().getString(R.string.const_as_alphabetic, TaskList.Columns.TITLE)); } @Override public void onLoadFinished(Loader<Cursor> arg0, Cursor c) { mTaskListsAdapter.swapCursor(c); final int pos; if (mListIdToSelect != -1) { pos = mSectionsPagerAdapter.getItemPosition(mListIdToSelect); } else { pos = -1; } if (pos >= 0) { pager.setCurrentItem(pos); mListIdToSelect = -1; } } @Override public void onLoaderReset(Loader<Cursor> arg0) { mTaskListsAdapter.swapCursor(null); } }; // Load actual data getLoaderManager().restartLoader(0, null, loaderCallbacks); }
2. TaskListFragment#onActivityCreated()
Project: NotePad
File: TaskListFragment.java
File: TaskListFragment.java
@Override public void onActivityCreated(final Bundle state) { super.onActivityCreated(state); // Get the global list settings final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); // Load pref for item height //mRowCount = prefs.getInt(getString(R.string.key_pref_item_max_height), 3); //mHideCheckbox = prefs.getBoolean(getString(R.string.pref_hidecheckboxes), false); // mSortType = prefs.getString(getString(R.string.pref_sorttype), // getString(R.string.default_sorttype)); // mListType = prefs.getString(getString(R.string.pref_listtype), // getString(R.string.default_listtype)); mCallback = new LoaderCallbacks<Cursor>() { @Override public Loader<Cursor> onCreateLoader(int id, Bundle arg1) { if (id == LOADER_CURRENT_LIST) { return new CursorLoader(getActivity(), TaskList.getUri(mListId), TaskList.Columns.FIELDS, null, null, null); } else { // What sorting to use Uri targetUri; String sortSpec; if (mSortType == null) { mSortType = prefs.getString(getString(R.string.pref_sorttype), getString(R.string.default_sorttype)); } // All-view can't use manual sorting if (mListId < 1 && mSortType.equals(getString(R.string.const_possubsort))) { mSortType = getString(R.string.const_all_default_sorting); } if (mSortType.equals(getString(R.string.const_alphabetic))) { targetUri = Task.URI; sortSpec = getString(R.string.const_as_alphabetic, Task.Columns.TITLE); } else if (mSortType.equals(getString(R.string.const_duedate))) { targetUri = Task.URI_SECTIONED_BY_DATE; sortSpec = null; } else if (mSortType.equals(getString(R.string.const_modified))) { targetUri = Task.URI; sortSpec = Task.Columns.UPDATED + " DESC"; } else // manual sorting { targetUri = Task.URI; sortSpec = Task.Columns.LEFT; } String where = null; String[] whereArgs = null; if (mListId > 0) { where = Task.Columns.DBLIST + " IS ?"; whereArgs = new String[] { Long.toString(mListId) }; } return new CursorLoader(getActivity(), targetUri, Task.Columns.FIELDS, where, whereArgs, sortSpec); } } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor c) { if (loader.getId() == LOADER_TASKS) { Log.d(TAG, "onLoadFinished() called"); mAdapter.swapCursor(c); } } @Override public void onLoaderReset(Loader<Cursor> loader) { if (loader.getId() == LOADER_TASKS) { mAdapter.swapCursor(null); } } }; getLoaderManager().restartLoader(LOADER_TASKS, null, mCallback); }
3. FragmentSearch#setupAdapter()
Project: NotePad
File: FragmentSearch.java
File: FragmentSearch.java
@AfterViews void setupAdapter() { mAdapter = getAdapter(); mAdapter.setViewBinder(getViewBinder()); // Set adapter list.setAdapter(mAdapter); list.setOnItemClickListener(getOnItemClickListener()); // Start loading data mCallback = new LoaderCallbacks<Cursor>() { @Override public Loader<Cursor> onCreateLoader(int id, Bundle arg1) { return new CursorLoader(getActivity(), getSearchUri(), getFields(), null, new String[] { mQuery }, getSortOrder()); } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor c) { mAdapter.swapCursor(c); } @Override public void onLoaderReset(Loader<Cursor> loader) { mAdapter.swapCursor(null); } }; doSearch(mQuery); }