Initializing a Loader in an Activity
As I can see you use supportV4 library.So to implement Loader you should do some things:
- extend your activity from FragmentActivity class
- 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.LoaderCallbacks
So you should implement the interface first.