Jak mogę odświeżyć kursor z CursorLoader?

Więc mam mojeMainDisplayActivity który implementuje obaActivity iLoaderManager.LoaderCallbacks<Cursor>. Tutaj mam AListView, które wypełniam informacjami Agendy, które otrzymuję z mojej bazy danych za pomocą ContentProvider. Ja też mamGridView który jest kalendarzem. Mam skonfigurowane po kliknięciu komórki, że agenda jest aktualizowana po kliknięciu dnia. Moim problemem jest to, że podczas ponownego używania programu ładującego, który stworzyłemonCreate() wewnątrz setOnItemClickListener () nie odświeża informacji nowym kursorem, który tworzę. Mogę po prostu utworzyć nowy program ładujący z innym identyfikatorem, który działa raz, ale po kliknięciu innego dnia przestaje odświeżać. Problem leży w kursorze. Jak mogę odświeżyć kursor z programu ładującego, aby nie musiałem tworzyć nowego programu ładującego? Z góry dziękuję!

Początkowe wywołanie, aby utworzyć program ładujący w onCreate () w folderze MojeMainDisplayActivity klasa:

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);

Są to metody nadpisane zLoaderCallbacks<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);
}

Wszelkie dodatkowe potrzebne kody nie wahaj się zapytać. Jeszcze raz dziękuję za wszelką pomoc!

questionAnswers(1)

yourAnswerToTheQuestion