Initializing a Loader in an Activity Initializing a Loader in an Activity android android

Initializing a Loader in an Activity


As I can see you use supportV4 library.So to implement Loader you should do some things:

  1. extend your activity from FragmentActivity class
  2. Use getSupportLoaderManager method instead of getLoaderManager

here is sample code:

import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.support.v4.app.LoaderManager;import android.support.v4.content.Loader;import android.widget.Toast;public class MyActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Object> {@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    getSupportLoaderManager().initLoader(0, null, this);}@Overridepublic Loader<Object> onCreateLoader(int i, Bundle bundle){    return null; // TODO}@Overridepublic void onLoadFinished(Loader loader, Object o) {    Toast.makeText(this, "onLoadFinished", Toast.LENGTH_SHORT).show();}@Overridepublic void onLoaderReset(Loader loader)    {    Toast.makeText(this, "onLoaderReset", Toast.LENGTH_SHORT).show();}}


When using loaders with fragments use:

getLoaderManager().initLoader(0,null,this);

And when using loaders with Activity use:

getSupportLoaderManager().initLoader(0,null,this);


The third parameter for getLoaderManager().initLoader(0, null, this); should be a instance that implement interface LoaderManager.LoaderCallbacksSo you should implement the interface first.