I have this fragment:
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
private DatePickerDialog dpDialog;
private Listener listener;
public interface Listener {
public void getDate(String date);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
listener = (Listener)getActivity();
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);
dpDialog = new DatePickerDialog(getActivity(), this, year, month, day);
return dpDialog;
}
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
String dateString = DateFormat.getDateInstance().format(Common.getDateFromDatePicker(view));
if (listener != null) {
listener.getDate(dateString);
}
}
@Override
public void onCancel(DialogInterface dialog) {
dpDialog.cancel();
super.onCancel(dialog);
}
}
Pressing Back
still overwrites my date in a TextView
.
What is the correct way to handle cancel?