LoaderManager: how to capture my variable / method from my loaders?

how to capture my variables or methods (from my loaders)? see the last lines from the code:

btw: the first bootloader has id: 1 .. and the second bootloader has id: 0

ListLoader.java:

public class ListLoader extends AsyncTaskLoader<Cursor> {

public Cursor mCursor;
DatabaseHelper dbHelper;

public ListLoader(Context context, DatabaseHelper db) {
    super(context);
    dbHelper = db;
}
public Cursor getCursor(){
    return mCursor;
}

@Override
public Cursor loadInBackground() {     
    if (getId() == 1) {    
        return dbHelper.getAll10();
    } else                 
        return dbHelper.getAll();  
[...]

ListLoaderManager.java:

public class ListLoaderManager extends FragmentActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FragmentManager fm = getSupportFragmentManager();
    if (fm.findFragmentById(android.R.id.content) == null) {
        fm.beginTransaction().add(android.R.id.content, new FragmentList()).commit();
    }
}

public class FragmentList extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> {

    private SimpleCursorAdapter mAdapter;
    private DatabaseHelper dbHelper;

[...]

    getLoaderManager().getLoader(0).forceLoad(); // it makes an extra query

    //but i want something like this:
    getLoaderManager().getLoader(0).mCursor;     //doesn't work
    //or somthing like this:
    getLoaderManager().getLoader(0).getCursor(); //doesn't work

is someone an idea?

+4
source share

All Articles