Я использую datepicker в Android для разрешения пользователю для выбора даты. Я хочу, чтобы это сделало одну вещь, если пользователь выбирает дату и устанавливает ее (у меня есть это хорошо работать) и затем очистить определенное текстовое поле, если пользователь продвигает кнопку отмены на datepicker (откройте datepicker, но затем отмените из него).
Путем я пробовал, путем создания 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);
присоединить слушателя.
Моя проблема состоит в том, что слушатель работает, если пользователь продвигает кнопку "Назад", но не, если они продвигают кнопку отмены. Я пытался использовать отклонить слушателя, и это работает, за исключением того, что это уходит даже, установил ли я или отменяю datepicker!
Что я должен сделать так, что-то уходит, если и только если я продвигаю кнопку отмены на своем datepicker?
Попробуйте это:
timeDialog.getButton(TimePickerDialog.BUTTON_NEGATIVE).setOnClickListener(mTimeCancelListener);
(Вам придется изменить mTimeCancelListener для реализации DialogInterface.OnClickListener
вместо OnCancelListener
)