¿Cómo puedo actualizar el cursor desde un CursorLoader?

Asi que tengo miMainDisplayActivity que implementa tantoActivity yLoaderManager.LoaderCallbacks<Cursor>. Aqui tengo unListView, que relleno con la información de Agenda que obtengo de mi base de datos utilizando un ContentProvider. También tengo unaGridView que es un calendario. Lo tengo configurado al hacer clic en una celda, que la agenda se actualiza con el día que se hace clic. Mi problema es que al reutilizar el cargador que creé enonCreate() Dentro del setOnItemClickListener (), no actualiza la información con el nuevo cursor que estoy creando. Simplemente puedo crear un nuevo cargador con otra ID, y funciona una vez, pero una vez que hago clic en otro día, deja de refrescarse. El problema, radica en el cursor. ¿Cómo puedo actualizar un cursor desde un cargador para no tener que seguir creando un nuevo cargador? ¡Gracias por adelantado!

Llamada inicial para crear el cargador en onCreate () en MiMainDisplayActivity clase:

makeProviderBundle(new String[] {"_id, event_name, start_date, start_time, end_date, end_time, location"},
            "date(?) >= start_date and date(?) <= end_date", new String[]{getChosenDate(), getChosenDate()}, null);
    getLoaderManager().initLoader(0, myBundle, MainDisplayActivity.this);

    list.setAdapter(agendaAdapter);

Estos son los métodos anulados deLoaderCallbacks<Cursor>

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    Uri baseUri = SmartCalProvider.CONTENT_URI;
    return new CursorLoader(this, baseUri, args.getStringArray("projection"), 
            args.getString("selection"), args.getStringArray("selectionArgs"), args.getBoolean("sortOrder") ? args.getString("sortOrder") : null );
}



@Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {
    agendaAdapter.swapCursor(arg1);
}



@Override
public void onLoaderReset(Loader<Cursor> arg0) {
    //Not really sure how this works. Maybe I need to fix this here?
    agendaAdapter.swapCursor(null);

}

public void makeProviderBundle(String[] projection, String selection, String[] selectionArgs, String sortOrder){
    /*this is a convenience method to pass it arguments 
     * to pass into myBundle which in turn is passed 
     * into the Cursor loader to query the smartcal.db*/
    myBundle = new Bundle();
    myBundle.putStringArray("projection", projection);
    myBundle.putString("selection", selection);
    myBundle.putStringArray("selectionArgs", selectionArgs);
    if(sortOrder != null) myBundle.putString("sortOrder", sortOrder);
}

Cualquier código adicional necesario por favor no dude en preguntar. Gracias de nuevo por cualquier ayuda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta