Mit dialogfragment Datum aus Datumsauswahl abrufen

Ich verwende das Google-Beispiel, um mithilfe eines Dialogfragments einen Datepicker in meine App einzufügen
http://developer.android.com/guide/topics/ui/controls/pickers.html

Aber ich bin nicht sicher, wie ich das Datum nach dem Festlegen bekommen soll (kein Java-Experte). Dialog und Datumsauswahl werden in Ordnung ausgeführt und ich kann protokollieren, dass das Datum korrekt eingestellt ist. Wie kann ich jedoch vorgehen, um einen Rückruf für die übergeordnete Aktivität auszuführen?

Das ist mein Dialogfragment

public class DatePickerFragment extends DialogFragment implements
        DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current date as the default date in the picker
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DAY_OF_MONTH);

        // Create a new instance of DatePickerDialog and return it
        return new DatePickerDialog(getActivity(), this, year, month, day);
    }

    public void onDateSet(DatePicker view, int year, int month, int day) {
        **Log.w("DatePicker","Date = " + year);**
    }
}

... und ich rufe den Dialog von meiner Aktivität mit ...

public void showDatePickerDialog(View v) {
    DialogFragment newFragment = new DatePickerFragment();
    newFragment.show(getSupportFragmentManager(), "datePicker");
}

Wie kann ich eine Methode in meiner übergeordneten Aktivität anstelle von Log.w korrekt aufrufen? Ich nehme an, das hat etwas mit der Übergabe eines Rückrufs als Parameter zu tun, aber die meisten Referenzen, die ich im Internet gefunden habe, beziehen sich auf frühere Versionen ohne Dialogfragmente

BEARBEITEN: nicht sicher, ob es wichtig ist, aber übergeordnete Aktivität wird wie folgt deklariert:

public class EditSessionActivity extends FragmentActivity {

LÖSUNG: Dank des Lecho-Benutzers ist dies der richtige Weg

DatePickerFragmennt.class

public class DatePickerFragment extends DialogFragment{

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current date as the default date in the picker
        final Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH);
        int day = c.get(Calendar.DAY_OF_MONTH);

        // Create a new instance of DatePickerDialog and return it
        return new DatePickerDialog(getActivity(), (EditSessionActivity)getActivity(), year, month, day);
    }

}

... und übergeordnete Aktivität EditSessionActivity.class ...

public class EditSessionActivity extends FragmentActivity implements OnDateSetListener {
...
    @Override
    public void onDateSet(DatePicker view, int year, int month, int day) {
        //do some stuff for example write on log and update TextField on activity
        Log.w("DatePicker","Date = " + year);
        ((EditText) findViewById(R.id.tf_date)).setText("Date = " + year);
    }

Antworten auf die Frage(8)

Ihre Antwort auf die Frage