I am currently trying to learn how to use Loaders and am having trouble starting a Loader in my activity.
import android.support.v4.app.LoaderManager;
import
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.
For AppCompatActivity use getSupportLoaderManager().initLoader(0,null,this);
for initializing the loader.
As I can see you use supportV4 library. So to implement Loader you should do some things:
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> {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getSupportLoaderManager().initLoader(0, null, this);
}
@Override
public Loader<Object> onCreateLoader(int i, Bundle bundle){
return null; // TODO
}
@Override
public void onLoadFinished(Loader loader, Object o) {
Toast.makeText(this, "onLoadFinished", Toast.LENGTH_SHORT).show();
}
@Override
public 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);