Я использую средство выбора даты в Android, чтобы позволить пользователю выбирать дату. Я хочу, чтобы это делало одно, если пользователь выбирает дату и устанавливает ее (у меня это работает нормально), а затем очищает определенное текстовое поле, если пользователь нажимает кнопку отмены на устройстве выбора даты (открывает средство выбора даты, но затем отменяет этого).
Я пытался сделать
private DatePickerDialog.OnCancelListener mDateCancelListener =
new DatePickerDialog.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
timeClear(); //method that clears text field
}
};
тогда я делаю
TimePickerDialog timeDialog = new TimePickerDialog(this,
mTimeSetListener,
c.get(Calendar.HOUR),
c.get(Calendar.MINUTE),
false);
timeDialog.setOnCancelListener(mTimeCancelListener);
чтобы прикрепить слушателя.
Моя проблема в том, что слушатель работает, если пользователь нажимает кнопку «Назад», но не если он нажимает кнопку «Отмена». Я попытался использовать прослушиватель dismiss, и это работает, за исключением того факта, что он отключается, даже если я установил или отменил средство выбора даты!
Что мне нужно сделать, чтобы что-то пропало, если и только если я нажму кнопку отмены на моем указателе даты?