Използвам инструмент за избор на дата в Android, за да позволя на потребителя да избере датата. Искам да направи едно нещо, ако потребителят избере дата и я зададе (при мен това работи добре) и след това да изчисти определено текстово поле, ако потребителят натисне бутона за отмяна на инструмента за избор на дата (отворете инструмента за избор на дата, но след това отменете от него).
Начинът, по който се опитвах, е като направих a
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);
за прикачване на слушателя.
Проблемът ми е, че слушателят работи, ако потребителят натисне бутона за връщане назад, но не и ако натисне бутона за отмяна. Опитах се да използвам слушател за отхвърляне и това работи, с изключение на факта, че изгасва дори независимо дали задам или отменя инструмента за избор на дата!
Какво трябва да направя, за да изгасне нещо, ако и само ако натисна бутона за отмяна на моя инструмент за избор на дата?