AsyncTaskLoader
To use an AsyncTaskLoader, you need to implement ‘LoaderManager.LoaderCallbacks’ in your HistoryTabFragment. See an example here.
public class HistoryTabFragment extends ListFragment implements LoaderManager.LoaderCallbacks<ArrayList<ExerciseEntry>> {
//…
//…
//…
@Override
public Loader<ArrayList<ExerciseEntry>>
onCreateLoader(int i, Bundle bundle) {
return new DataLoader(mContext); // DataLoader is your
AsyncTaskLoader.
}
@Override
public void onLoadFinished(Loader<ArrayList<ExerciseEntry>> loader,
ArrayList<ExerciseEntry> exerciseEntries) {
//Put your code here.
}
@Override
public void onLoaderReset(Loader<ArrayList<ExerciseEntry>> loader) {
//Put your code here.
}
}//end class
public class DataLoader extends AsyncTaskLoader<ArrayList<ExerciseEntry>> {
//Your code here.
public DataLoader(Context context) {
//Your code here.
}
@Override
protected void onStartLoading() {
forceLoad(); //Force an asynchronous load.
}
@Override
public ArrayList<ExerciseEntry> loadInBackground() {
//Your code
}
}//end class